Java中对象的访问方式

2020-07-17  本文已影响0人  gigglesoso

Java中我们创建一个对象

Object obj = new Object();

其中obj作为对象的引用是分配在我们的栈内存中的,而我们的对象实例是分配在我们的堆内存中的。
对象实例其实包含了两部分,

  1. 存储Object对象所有实例数据的结构化内存
  2. 存储Object类型信息的指针,其实就是指向该对象对应的Class对象的地址指针

其中我们的obj引用在虚拟机规范里只规定了一个指向对象的引用,并没有指定需要哪种实现方式,因此不同的虚拟机有不同的实现方式,主流的有两种:

  1. 通过句柄
  1. 通过直接指针

这两种方式各有各的优缺点:

以上内容参考了<<深入理解java虚拟机>>。

上一篇 下一篇

猜你喜欢

热点阅读