Java 為什么不采用 360 垃圾清理來(lái)進(jìn)行垃圾回收呢?
最近,慶哥在刷知乎的時(shí)候,有一個(gè)"專(zhuān)業(yè)"問(wèn)題映入我的眼簾:

來(lái)源地址:https://www.zhihu.com/question/36014646
這么專(zhuān)業(yè)的問(wèn)題,我一時(shí)間竟不知道該如何回答。截至發(fā)文時(shí),這個(gè)問(wèn)題已經(jīng)有40多萬(wàn)的瀏覽量了。
那么,我們來(lái)看看"人在美國(guó),剛下飛機(jī)"的知乎大佬們都是怎么回答的呢?
@陳龍:
因?yàn)橐缙脚_(tái)啊。
如果jvm只有Windows就用360了!當(dāng)初,SUN在這個(gè)問(wèn)題上糾結(jié)了很久,最后發(fā)現(xiàn)理念不同。
JAVA是write once,run anywhere。
360是install once,uninstallable forever。
@秋水鳴蛙自一天
360 垃圾清理會(huì)清理包括無(wú)用的注冊(cè)表,臨時(shí)文件,IE的瀏覽文件等眾多垃圾文件,掃描位置多,且受制于磁盤(pán) IO 影響,掃描時(shí)間很長(zhǎng),清理速度相對(duì)較慢。
如果 Java 使用 360 進(jìn)行垃圾回收,那用 Java 寫(xiě)的程序都會(huì)面臨很長(zhǎng)的垃圾回收等待時(shí)間。比如用 Java 寫(xiě)的網(wǎng)站就會(huì)出問(wèn)題,用戶(hù)訪問(wèn)網(wǎng)站的時(shí)候,網(wǎng)頁(yè)過(guò)個(gè)幾分鐘才出來(lái),那這時(shí)候用戶(hù)早崩潰了,所以不能使用 360 垃圾清理進(jìn)行 Java 垃圾回收。
@易哥
其實(shí)360用來(lái)清理Java垃圾是不錯(cuò)的,
但是程序員都不太喜歡用。
因?yàn)樵谶\(yùn)行時(shí),360會(huì)一直顯示“清理程度超過(guò)了35%的JVM。”而且這個(gè)數(shù)值基于大數(shù)據(jù)得出,比較有參考性。
于是這個(gè)數(shù)值,成了事實(shí)上的Java程序員考核標(biāo)準(zhǔn)。
于是,面試時(shí),面試官會(huì)問(wèn)“你是多少分的程序員?”
你的虛擬機(jī)超過(guò)了35%的虛擬機(jī),你就是35分程序員。
你的虛擬機(jī)超過(guò)了98%的虛擬機(jī),你就是98分程序員。
這對(duì)于分?jǐn)?shù)低的程序員是赤裸裸打臉。于是,分低的程序員就不想用360回收垃圾。
漸漸的,凡是用360清理虛擬機(jī)垃圾的,都是大神。
于是,在大神之中,超越更多人得到一個(gè)高分變得更難。
這就是內(nèi)卷產(chǎn)生的根本原因。
現(xiàn)在,真正的JAVA高手還是使用360清理虛擬機(jī)垃圾的。
而不敢用360清理虛擬機(jī)垃圾的程序員,都是垃圾程序員!
@蘿魏紫
你都說(shuō)了,360那都是垃圾清理,我們這是垃圾回收,我們是要弄回來(lái)再用的,360給扔了,這根本不對(duì)。
@熊熊是只土漸層
「你寫(xiě)的程序打敗了全國(guó)20%的程序,是否需要清理垃圾?」
對(duì)于這個(gè)問(wèn)題,你怎么看?
程序員到底為什么要掌握數(shù)據(jù)結(jié)構(gòu)與算法?
如果ArrayList是個(gè)人……



