上一篇文章降到jvm堆内存主要是用来存放对象实例的,下面就看一下对象的创建,内存和访问形式。
1.对象的创建过程
说明:此处只讨论普通对象,用以下的图说明以下对象创建的过程,
2.对象的组成
3.对象的访问
对象的访问有两种形式,一种是句柄访问,另一种是指针访问;
句柄访问:java栈中的引用存的是句柄地址,指向的是堆中句柄池里的指针,通过指针找到实例池中的对象实例和方法区里的对象类型数据。
指针访问: java栈中的引用存的就是对象地址,直接在堆中找到实例对象,在方法区里找到对象类型数据。