JVM
_RyomaXu
这个作者很懒,什么都没留下…
展开
-
JVM学习笔记2--JVM中的对象
一、对象内存中存储的布局 1、对象头:a存储对象自身运行时的数据 b类型指针 2、实例数据:相同宽度的字段总被分配在一起 3、对齐填充:仅起占位符的作用,对象的大小是8字节的整数倍。对象头部分正是8字节的倍数(1倍或者2倍),当实例部分没对 齐时,就要对齐填充来补全 二、对象访问的定位: 1、使用句柄 2、直接指针 三、对象原创 2017-01-16 23:59:52 · 362 阅读 · 0 评论 -
JVM学习笔记1--运行时数据区域
一、栈(具体点:虚拟机栈,再具体点:虚拟机栈中局部变量表) 1、存储数据:基本数据类型,对象引用、returnAddress 2、抛出的异常:StackOverflowError:线程请求的栈深度大于允许深度 OutofMemoryError:虚拟机栈可动态扩展,扩展时却无法申请带足够的内存 二、Java堆 1、存储数据:对象实例、数组 2、抛出的异常:OutofMemory原创 2017-01-16 23:49:02 · 385 阅读 · 0 评论 -
JVM学习笔记3--垃圾回收
一、对象从生存到死亡的步骤 1、是否有GCRoots相连接的引用链 2、是否有执行finalize()方法 两者有一个就不会被回收 二、垃圾回收算法 1、标记-清除算法 2、复制算法 Fden:Survivor:Survivor=8:1:1 将8Fden和1Survivor存活的对象存进1Survivor中 3、标记-整理算法 存活的对象向一端移动,清除端边界以外的内存 4、分原创 2017-01-17 00:16:15 · 314 阅读 · 0 评论