“这是我参与8月更文挑战的第30天,活动详情查看:8月更文挑战”
🔉引言
前面我们提到那么多的垃圾收集器,相比各位已经眼花缭乱了,这么多的垃圾收集器我怎么选择呢?只挑最先进的吧,却又不能符合绝大多数场景,你说因地制宜,按需选用?如果没有足够的现实依据和理论基础,那未免太敷衍了,所以本文我们聊聊如何选择合适的垃圾收集器。这是我第30篇文章,一路写来,感概万千,终点就在眼前,加油,少年!
Epsilon收集器
在越来越复杂越来越先进的垃圾收集器出现的同时,也有一个与众不同的垃圾收集器也出现在JDK11的特征榜单之中-Epsilon,这是一款十分另类的垃圾收集器,另类到它都不是以垃圾收集作为卖点的,此时,你心里的草原有无数匹马压草泥而去,这话听起来反逻辑啊,不垃圾收集,要它何用?
那在我们下具体的结论之前,先看看它的家是哪的吧,简历上写着:所属公司:RedHat,我倒吸了一口凉气,露出难以置信的表情:我没看错吧,这货是红帽公司的?是的,没错红帽的提案中写到:该收集器是一款无操作的收集器,事实上,只要java虚拟机在工作,就不可能有一款无操作的垃圾收集器,更贴切的点说垃圾收集器并不只负责垃圾收集,它还有个别名:自动内存管理子系统。除了负责垃圾收集外,还要负责堆的内存管理与布局、对象的分配、与解释器和编译器的协作、与监控子系统协作等职责。其中堆的管理和对象的分配这个功能,哪怕你是个最小的垃圾收集器也是必须要实现的。
从JDK10开始,RedHat提出:统一垃圾收集接口,将垃圾收集与Java虚拟机的解释、编译、监控等功能进行隔离,Epsilon正是这一接口的有效验证和实现,同时也可用于剥离垃圾收集器影响的压力测试和性能测试。
时代背景
在实际生产中,不能进行垃圾回收的Epsilon也有用武之地,长时间以来Java技术的发展中心都在面向大规模、长时间的企业级应用和服务应用,但是近年来随着快速迭代的大浪潮时代来临,人们更加追求小型化和智能化的应用,架构也从单体过度到微服务,传统java对着短耗时、小规模的服务形式存在着诸多不适,那人们就提出:提前编译,面向应用的类数据共享支持。
那Epsilon的目标就是如此,如果你有应用只运行数分钟甚至数秒,那运行负载极小、没有任何回收行为的Epsilon是不错的选择。
收集器的选择与权衡
如果算上Epsilon,我们一共介绍了10款垃圾收集器了,我的天呐10款,要是排列组合的话也 得几十种可能啊,那我们怎么选择合适我们实际场景的垃圾收集器呢?我们就抓主要矛盾,然后根据实际的情况进行选择,我们接下来进行介绍。
我们要知道我们的应用程序关注的重点是什么?关注高吞吐?低延时还是内存占用方面。还要知道运行应用的基础设施是什么?处理器的数量以及分配的内存还有选择的操作系统等。还需要知道JDK的版本。我们可以总结一下:
- 程序的关注重点
- 运行应用的基础设施
- JDK的版本
📝题外话
以下内容节选自《科学、哲学与宗教》,原文晦涩难懂,这里尽量用白话文重新陈述:
何为科学?我们天天讲这科学,那科学的,到底什么是科学?爱因斯坦回答道:科学就是一种联系,将我们可以感官的事物的现象,通过一种系统的思想尽可能完整的联系起来,为了达到尽可能完整这一目的,所以至少需要数个世纪。换句话说,科学就是一种把存在进行后验概念化重建的一种企图。
那什么是宗教呢?要回答这个问题,恐怕就不那么容易了,那我们换个问题,用什么可以刻画一个使我认为他笃信宗教的人的抱负?
爱因斯坦认为:一个人全神贯注于那些具有超个人的价值而为他所坚持的思想、感情和抱负之中,就是远离自私和欲望。这样的人呢就算被宗教启发了,这里面重要的有两个因素:力量和深度,力量要远超个人内容力量,深度要远超一切深远信念。
什么是远超个人内容呢,就是你既不需要也不怀疑,同时还没有任何理性基础的内容,换句话讲叫超越个人。
同时信念还要深深扎根,绝不动摇,甚至连心都不动,这样的人可谓虔诚了。
宗教的目标:它要使人们清楚、完整地认识这些价值和目标,并且经常强化它们,扩大其影响。也是需要人类长久的努力。
在这种意义的基础上,科学与宗教的矛盾就不那么明显了,那科学只能断定是什么?而不能断定应该是什么?各种各样的价值判断处于它的领域之外。
而宗教只是涉及对人的思想和行为进行评价,而不能正当地揭示事实和事实之间的关系。
如果二者产生了某种联系,那冲突就发生了,一方面宗教可能会对科学有所干预,另一方面科学的代表人物经常试图在科学方法的基础上就价值和目标做出根本性的判断,从而使它们与宗教对立,这些矛盾的产生都是基于对上述情形的误解。
那能不能把宗教和科学分割开来呢?答案是否定的,两者之间存在密切的相互联系和强烈的相互依赖关系。
虽然宗教可以决定目标,但是它可以在科学那里学到达成目标的手段,同样科学只能由那些满怀追求真理和知识热望的人创造出来而这种感情又源于宗教领域。
我不能想象哪些科学家没有深沉的信念,换句话说:科学没有宗教是跛足的,宗教没有科学是盲目的。
还记得昨天张小果的事件嘛,就是那些当官的每个人都放水一点,看似不大,汇聚起来就足以量成大祸,那如果他们每个人都有一些良知和共产主义信仰,做好本职工作,严防死守,坚决抵制一切不合规行为,眼里不容沙子,情况将完全不同。
原文内容太长了,略过……