![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深入理解JAVA虚拟机
fan510988896
种一棵树的最佳时机是十年前,或者是现在!
展开
-
《深入理解java虚拟机》学习笔记四/垃圾收集器GC学习/一
Grabage Collection GCGC要完成的三件事情:哪些内存需要回收?什么时候回收?如何回收?内存运行时区域的各个部分中:程序计数器、虚拟机栈、本地方法栈这3个区域随线程而生,随线程而灭。栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈的操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此,这几个区域的内原创 2017-04-13 14:29:43 · 1301 阅读 · 1 评论 -
《深入理解java虚拟机》学习笔记一/类加载机制
为何要读这本书?近期看了左萧龙大哥的单例设计模式,后文讲解到了JVM对类实例化相关知识,感觉看着很无力,不懂,于是乎买本书研究下。如何读?个人水平一般,理解程度有限,书中说到每章关联不是很大,所以就以目前想了解的内容读起。本系列笔记会随着个人的理解深度随时更新,记录在这里算是一个总结吧。本篇学习类加载机制。代码编译结果,本地机器码转换为字节码。虚拟机如何加载clas原创 2017-04-06 10:46:16 · 584 阅读 · 0 评论 -
《深入理解java虚拟机》学习笔记三/Java内存区域
2.2运行时数据区域 Java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。如图(截图自PDF):详细介绍:2.2.1 程序计数器 是一块较小的内存空间,它可以看作是当前线程所执行的原创 2017-04-06 15:55:12 · 389 阅读 · 0 评论 -
《深入理解java虚拟机》学习笔记二/双亲委派模型
本篇学习双亲委派模型。类与类加载器如何比较俩个类是否“相等”? 对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在java虚拟机中的唯一性。 也就是说,如果俩个类来源于同一个Class文件,被同一个虚拟机加载,只要加载它们的类加载器不同,那么这俩个类必定不相等。 这里所说的相等,包括代表类的Class对象的equals()方法,is原创 2017-04-06 10:50:43 · 322 阅读 · 0 评论