目录
目录
前言
自动内存管理机制
运行时数据区域
内存分配
虚拟机上对象的创建过程
创建的对象都包括了哪些信息?
对象内存的分配机制
垃圾收集
对哪些内存进行回收?...运行时数据区域
JVM在执行java代码的时候,会将系统分配给他的内存划分为几个区域,来方便管理.比较经典的运行时数据区域图如下:
?...因为这一区域存放的内容,垃圾收集的效率是比较低的(常量,静态变量等较少需要被回收),所以当数据进入此区域,就好像永久存在了一下....在HotSpot中, 对象信息包括: 对象头,实例数据和对齐填充.
对象头: 对象头中包括两部分信息,对象的运行数据(hash码,GC年龄等),类型指针(指明它是哪个类的实例)....实例数据: 这块的数据就是我们在代码中定义的那些字段等等. 对齐填充: 这块数据并不是必然存在的,当对象实例数据不是8字节的整数倍的时候,用空白字符对齐一下.