![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
垃圾回收算法
文章平均质量分 81
像风一样自由
Javaweb程序员喜欢各种技术
展开
-
【005】JDK8 JVM 参数 配置 实战
目前生产环境使用的还是JDK8,备份一份后续详细研究具体版本如下:java version "1.8.0_151"Java(TM) SE Runtime Environment (build 1.8.0_151-b12)Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)抽出其中一个项目的启动参数如下:su - tomcat -c 'nohup java -Dserver.port=6016 -server.原创 2020-08-12 11:20:57 · 395 阅读 · 3 评论 -
【004】垃圾回收-引用计数法
GC原本是一种”释放怎么都无法被引用对象的机制“。那么人们自然而然地就会想到,可以让所有对象实现记录下”有多少程序引用自己“。让各对象知道自己的”人气指数“,从而让没有人气的对象自己消失,这就是引用计数法(Reference Counting),它是George E.Collins 于1960年研究出来的。 (60年左右可谓是 垃圾回收算法的元年)。引用计数法引入了一个概念,那就是”计数器“。计数器表示的是对象的人气指数,也就是有多少程序引用了这个对象(被引用数量)。计数器是无符号的整数,用于计数器的位原创 2020-08-10 07:37:35 · 269 阅读 · 0 评论 -
【003】垃圾回收算法-BiBOP、位图标记 、延迟清除法
1.BiBOPBiBOP是Big Bag Of Pages 的缩写。这么说可能比较难懂,用一句话概况就是”将大小相近的对象整理成固定大小的块 进行管理的做法“。上一篇介绍过,GC标记-清除算法中会发生碎片化。碎片化的原因之一就是堆上杂乱散布着大小各异的对象。对此,我们可以用这个方法:把堆分割成固定大小的块,让每个块只能配置同样大小的对象。这就是BiBOP法。上图,3个字的对象被整合分配到左数第一个和第三个块,2个字的对象被整合分配到左数第二个块。像这样配置的对象,就会提高内存的使..原创 2020-08-09 22:55:45 · 714 阅读 · 0 评论 -
【002】垃圾回收算法之-GC标记-清除算法
世界上首个值得纪念的GC算法那是GC标记-清除算法(Mark Sweeep GC)什么是GC标记-清除算法就如它的字面意思一样,GC标记-清除算法由标记阶段和清除阶段构成。标记阶段是把所有活动对象都做上标记的阶段。清除阶段是把哪些没有标记的对象,也就是非活动对象回收的阶段。通过这两个阶段,就可以令不能利用的内存空间重新得到利用。目录什么是GC标记-清除算法标记阶段在标记阶段中,collector会为堆里的所有活动对象打上标记。为此,我们首先要标记通过根直接引用的对对象。首先我们标记.原创 2020-08-09 09:20:43 · 296 阅读 · 0 评论 -
【001】垃圾回收的算法与实现
GC的定义GC是Garbage Collection 的简称,中文称为"垃圾回收"。在现实世界中,说到垃圾,指的是那些不读书、不穿的衣服等。这种情况下的”垃圾“指的是自己不用的东西。在GC中,"垃圾"的定义也是如此。GC把程序不用的内存空间视为垃圾。GC要做两件事1.找到内存空间里的垃圾2.回收垃圾,让程序员能再次利用这部分空间满足这两项功能的程序就是GC。GC的常见算法1.1960年,McCarthy在其论文中首次发布了GC算法GC标记-清除算法。2.1960...原创 2020-08-07 00:11:34 · 260 阅读 · 0 评论