最近,小编在刷知乎的时候,有一个”专业”问题映入我的眼帘:
Java 为什么不采用 360 垃圾清理来进行垃圾回收呢?插图
这么专业的问题,我一时间竟不知道该如何回答。截至发文时,这个问题已经有40多万的浏览量了。

那么,我们来看看”人在美国,刚下飞机”的知乎大佬们都是怎么回答的呢?

@陈龙:

因为要跨平台啊。

如果jvm只有Windows就用360了!当初,SUN在这个问题上纠结了很久,最后发现理念不同。

JAVA是write once,run anywhere。

360是install once,uninstallable forever。

@秋水鸣蛙自一天

360 垃圾清理会清理包括无用的注册表,临时文件,IE的浏览文件等众多垃圾文件,扫描位置多,且受制于磁盘 IO 影响,扫描时间很长,清理速度相对较慢。

如果 Java 使用 360 进行垃圾回收,那用 Java 写的程序都会面临很长的垃圾回收等待时间。比如用 Java 写的网站就会出问题,用户访问网站的时候,网页过个几分钟才出来,那这时候用户早崩溃了,所以不能使用 360 垃圾清理进行 Java 垃圾回收。

@易哥

其实360用来清理Java垃圾是不错的,

但是程序员都不太喜欢用。

因为在运行时,360会一直显示“清理程度超过了35%的JVM。”而且这个数值基于大数据得出,比较有参考性。

于是这个数值,成了事实上的Java程序员考核标准。

于是,面试时,面试官会问“你是多少分的程序员?”

你的虚拟机超过了35%的虚拟机,你就是35分程序员。

你的虚拟机超过了98%的虚拟机,你就是98分程序员。

这对于分数低的程序员是赤裸裸打脸。于是,分低的程序员就不想用360回收垃圾。

渐渐的,凡是用360清理虚拟机垃圾的,都是大神。

于是,在大神之中,超越更多人得到一个高分变得更难。

这就是内卷产生的根本原因。

现在,真正的JAVA高手还是使用360清理虚拟机垃圾的。

而不敢用360清理虚拟机垃圾的程序员,都是垃圾程序员!

@萝魏紫

你都说了,360那都是垃圾清理,我们这是垃圾回收,我们是要弄回来再用的,360给扔了,这根本不对。

@熊熊是只土渐层

「你写的程序打败了全国20%的程序,是否需要清理垃圾?」

对于这个问题,你怎么看?