JVM 知识点整理:对象的创建过程类加载分配内存分配方式一:指针碰撞分配方式二:空闲列表如何选择?线程安全问题CAS + 失败重试方法线程本地分配缓存区(TLAB)后续工作
类加载
虚拟机遇到一条 new 指令时,首先检查,指令的参数是否能在常量池种定位到一个类的符号引用,并且检查这个符号引用的类是否已经被加载、解析、初始化过,如果没有那必须执行相应的类加载过程。
比如:String str = null;
这就意味着类已经被加载,创建对象时这步类加载就不要执行了
分配内存
在类的加载检查通过后