JVM学习记录(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26917447/article/details/83059377
  1. 对象创建
    当虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池定位到一个类的符号引用并且检查该符号引用代表的类是否已被加载,解析,初始化。 当类加载检查通过后,JVM将为新创建的对象分配内存,对象所需要的内存大小在类加载完成后便可以确定,为对象分配空间的任务等同于把一块确定大小的内存从java堆中划分出来。
  2. 对象访问
Object obj = new Object();
//上句代码左部会存储到栈的本地变量表中作为引用类型出现,右部会存储到堆中形成一
//块存储了Object类型所有实例数据值的结构化内存。堆中还必须包含能查找该对象类型
//数据(父类,实现的接口,方法等)的地址信息。
  1. 类加载机制
    是指虚拟机中把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的java类型。这就是虚拟机的类加载机制
    在java中,类型的加载,连接和初始化过程都是在程序运行期间完成的,这种策略虽然会让类加载时稍微增加一些性能开销,但是会为开发提高灵活性。

猜你喜欢

转载自blog.csdn.net/qq_26917447/article/details/83059377