虚拟机遇到一条new指令时,首先将去检查这个指令是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析和初始化过,如果没有,那必须先执行相应的类加载过程。在类加载检查通过后,虚拟机将为新生对象分配内存,对象所需的内存大小在类加载完成后便可以确定。(标记-清除的垃圾收集器时,新对象内存分配的方式是采用空闲队列,复制和标记-整理的,系统采用的内存分配算法是指针碰撞)
java虚拟机处理new的过程
最新推荐文章于 2024-07-11 17:37:42 发布