![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
a816120
这个作者很懒,什么都没留下…
展开
-
《深入理解Java虚拟机》读书笔记(六)--HotSpot的算法细节实现
HotSpot虚拟机,使用JAVA的相信都不陌生。而前面讲的垃圾收集算法在运行时是怎样去保证其执行效率和正确性的呢? (这一段内容都很枯燥,可以暂时跳过,遇到的时候再返回来看) 根节点枚举 我们以可达性分析算法中从GC Roots集合找引用链这个操作作为介绍虚拟机高效实现的第一个例子。固定可作为GC Roots的节点主要在全局性的引用(例如常量或类静态属性)与执行上下文(例如栈帧中的本地变量表)中,尽管目标明确,但查找过程要做到高效并非一件容易的事情,现在Java应用越做越庞大,里面的类、常量等更是恒河沙数原创 2020-11-19 14:42:00 · 229 阅读 · 2 评论 -
《深入理解Java虚拟机》读书笔记(五)--垃圾收集算法概述
从如何判定对象消亡的角度出发,垃圾收集算法可以划分为“引用计数式垃圾收集”(Reference Counting GC)和“追踪式垃圾收集”(Tracing GC)两大类,这两类也常被称作“直接垃圾收集”和“间接垃圾收集”。由于引用计数式垃圾收集算法在本书讨论到的主流Java虚拟机中均未涉及,所以我们暂不把它作为正文主要内容来讲解,本节介绍的所有算法均属于追踪式垃圾收集的范畴。 分代收集理论 当前商业虚拟机的垃圾收集器,大多数都遵循了“分代收集”(Generational Collection)[1]的理论原创 2020-10-21 16:01:26 · 179 阅读 · 3 评论 -
《深入理解Java虚拟机》读书笔记(四)--GC的回收条件及Java对象的引用
前面介绍了Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭,栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的(尽管在运行期会由即时编译器进行一些优化,但在基于概念模型的讨论里,大体上可以认为是编译期可知的),因此这几个区域的内存分配和回收都具备确定性, 在这几个区域内就不需要过多考虑如何回收的问题,当方法结束或者线程结束时,内存自然就跟随着回收了。 而Java堆和方法区这两个区域则有原创 2020-10-20 15:31:50 · 311 阅读 · 0 评论 -
《深入理解Java虚拟机》读书笔记(三)--堆栈异常代码示例
Java堆溢出: /** *VM Args:-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError *@author zzm */ public class HeapOOM { static class OOMObject { } public static void main(String[] args) { List<OOMObject> list = new ArrayList<OOMObject>(); while原创 2020-10-20 10:07:20 · 218 阅读 · 0 评论 -
《深入理解Java虚拟机》读书笔记(二)--对象的创建与空间分配及定位
Java是一门面向对象的编程语言,Java程序运行过程中无时无刻都有对象被创建出来。在语言层面上,创建对象通常(例外:复制、反序列化)仅仅是一个new关键字而已,而在虚拟机中,对象(文中讨论的对象限于普通Java对象,不包括数组和Class对象等)的创建又是怎样一个过程呢? 当Java虚拟机遇到一条字节码new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程,本书第7章将探讨这部分细节。原创 2020-10-19 15:39:18 · 151 阅读 · 0 评论 -
《深入理解Java虚拟机》读书笔记(一)--java内存区域划分
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。 这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。 根据《Java虚拟机规范》的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域。 程序计数器:(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在Java虚拟机的概念模型里 ,字节码解释器工作时就是通原创 2020-10-19 13:35:34 · 153 阅读 · 0 评论