Java程序在运行时创建的所有类实例或者数组都放在堆中,所有线程共享这个堆,所以对被设计为线程安全的。
Java虚拟机根据存储在方法区的类型信息来确定一个对象需要分配多少空间,用户可以自己设定堆得初始化大小。
java对象中包含的基本数据由他所属的类以及所有的超类声明的实例变量组成,只要有一个对象的引用,虚拟机就必须快速的定位对象的实例数据,另外,它也必须能通过该对象引用访问相应的类数据(存储与方法区的类型信息),因此在对象中通常会有一个指向方法区的指针。
一种设计实现:

本文详细介绍了Java程序中对象的内存布局方式,包括对象实例数据的构成、对象引用的定位方式以及指向方法区的指针等内容。此外还讨论了Java虚拟机如何根据类型信息决定对象所需的内存空间。
Java程序在运行时创建的所有类实例或者数组都放在堆中,所有线程共享这个堆,所以对被设计为线程安全的。
Java虚拟机根据存储在方法区的类型信息来确定一个对象需要分配多少空间,用户可以自己设定堆得初始化大小。
java对象中包含的基本数据由他所属的类以及所有的超类声明的实例变量组成,只要有一个对象的引用,虚拟机就必须快速的定位对象的实例数据,另外,它也必须能通过该对象引用访问相应的类数据(存储与方法区的类型信息),因此在对象中通常会有一个指向方法区的指针。
一种设计实现:


被折叠的 条评论
为什么被折叠?