![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
Dcpnet
每个牛*的人都有一段苦*的岁月,只要像傻*一样坚持,结果终将牛*。
展开
-
JVM-可达性分析算法
JVM-可达性分析算法 内容参考 《深入理解Java虚拟机》第三版 当前主流的商用程序语言(Java、C#)的内存管理子系统,都是通过 可达性分析(Reachability Analysis) 算法来判定对象是否存活的。 这个算法得基本思路就是通过一系列称为 "GC Roots" 的跟对象作为起始节点集,根据引用关系乡下搜索,搜索过程所走过的路径成为 “引用链”(Reference Chain),如果某个对象到 GC Roots 间没有任何引用链相连,或者用图论的话来说就是从 GC Root.原创 2020-09-26 13:32:57 · 340 阅读 · 0 评论 -
对象的内存布局
对象的内存布局 内容参考 《深入理解Java虚拟机》JVM高级特性与最佳实践 在 HotSpot虚拟机 中,对象在堆内存中的存储布局可以划分为三个部分: 对象头(Header) 实例数据(Instance Data) 对齐填充(Padding) 一 对象头 HotSpot虚拟机 对象的对象头部分包括两类信息: 用于存储对象自身运行时的数据 类型指针 1.1 用于存储对象自身运行时的数据 哈希码(HashCode) GC分代年龄 锁状态标志 线程持有的所 偏向线程ID..原创 2020-09-26 00:42:50 · 104 阅读 · 0 评论 -
JVM内存模型
JVM运行时数据区-JVM内存模型 内容参考《深入理解 JAVA 虚拟机》第二版 【这里只是做一个学习记录】 目录 JVM运行时数据区-JVM内存模型 程序计数器 虚拟机栈 本地方法栈 堆 方法区 运行时常量池 直接内存 Java 虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而启存在,有的区域则以来用户线程的启动和结束而创建和销毁。 下面我们来看看J...原创 2020-09-21 21:01:30 · 117 阅读 · 0 评论