![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
zjj_daniu
这个作者很懒,什么都没留下…
展开
-
JVM笔记 垃圾收集算法
分代收集理论 当前商业虚拟机的垃圾收集器,大多数都遵循了“分代收集”(Generational Collection)的理论进行设计,分代收集名为理论,实质是一套符合大多数程序运行实际情况的经验法则,它建立在两个分代假说之上: 1)弱分代假说(Weak Generational Hypothesis):绝大多数对象都是朝生夕灭的。 2)强分代假说(Strong Generational Hypothesis):熬过越多次垃圾收集过程的对象就越难以消亡。 收集器应该将Java堆划分出不同的区域,然后将回收对象原创 2020-07-18 22:29:48 · 14256 阅读 · 0 评论 -
JVM笔记 垃圾对象判断
垃圾对象 垃圾对象,我们可以认为是"死掉的对象",即不能被任何途径使用的对象 引用计数算法 在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可能再被使用的. 引用计数算法(Reference Counting)虽然占用了一些额外的内存空间来进行计数,但它的原理简单,判定效率也很高,在大多数情况下它都是一个不错的算法。 这个看似简单的算法有很多例外情况要考虑,必须要配合大量额外处理才能保证正确地工作,譬如单纯的引用计数就很难解决对原创 2020-07-18 20:55:13 · 39923 阅读 · 0 评论 -
JVM笔记 运行时数据区
运行时数据区 JVM在程序运行Java程序时会将管理的内存分为几个不同的数据区域, 这些区域有不同的用途,创建和销毁时间。根据《java虚拟机规范》通常虚拟机管理的内存分为以下几个不同的运行时数据区。 程序计数器 程序计数器(Program Counter Register) 是一块较小的内存空间。 可以看作是当前线程所执行字节码的行号指示器。 为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储 如果线程正在执行的是一个Java方法,这个计数器原创 2020-07-18 17:15:57 · 14303 阅读 · 0 评论