第一步,类检测 1.当虚拟机遇到一条new指令时,首先判断new的对象是否能在运行时常量池中找到对应类的类名(书中原话:检查这个指令的参数能佛在常量池中定位到一个类的符号引用).如果没找到,应该就会抛ClassNotFound了. 2.检查类是否被加载.解析和初始化过,如果没有,就必须执行相应的类加载过程. 第二步,分配内存 1.指针碰撞:在java堆内存绝对规整的情况下,用过的内存放一边,没用过的放另一边,中间放这个指针.对象要分配多大的空间,就挪多大的位置. 2.空闲列表:如果java堆中的…