深入理解JVM
本专栏主要是记录自己学习jvm的过程,参考书籍为(深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)周志明),同时将自己总结的知识分享出来与大家交流。
fenda、
这个作者很懒,什么都没留下…
展开
-
类与类加载器
原创 2020-08-02 21:13:48 · 91 阅读 · 0 评论 -
类加载机制
原创 2020-08-01 23:39:01 · 110 阅读 · 0 评论 -
VM判断对象已死 与 引用
判断对象已死 1、引用计数算法: (1)在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一。 (2)缺点:循环引用无法回收。 2、可达性分析算法:(主流:java,C#,Lisp) (1)就是通过一系列称为“GC Roots”的根对象作为起始节点集,从这些节点开始,根据引用关系向下搜索,搜索过程所走过的路径称为“引用链”(Reference Chain),如果某个对象到GC Roots间没有任何引用链相连, 或者用图论的话来说就是从GC Roots到这个对象不可原创 2020-08-01 00:37:10 · 167 阅读 · 0 评论 -
Java虚拟机运行时数据区域(内存模型)
引用其他博主结构图 程序计数器: 1、是当前线程所执行的字节码的行号指示器,选取下一条需要执行的字节码指令。 2、每个线程都要有独立的程序计数器,线程私有。 java虚拟机栈: 1、线程私有,生命周期与线程同步。 2、是java方法的内存模型。 3、每个方法被执行的时候,都会创建一个栈帧,用于存储局部变量表、操作数栈、动态连接,方法出口等。 4、方法的调用到执行完毕就是栈帧入栈到出栈的过程。 5、栈深度溢出或者栈扩展失败时分别抛出StackOverflowError和OutOfMemoryError异.原创 2020-07-31 18:50:40 · 200 阅读 · 0 评论