百科问答小站 logo
百科问答小站 font logo



Java 为什么不采用 360 垃圾清理来进行垃圾回收呢? 第1页

  

user avatar   yeecode 网友的相关建议: 
      

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

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


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

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

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

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

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


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

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

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

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


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

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


别看我人模狗样,是个高级架构师,还出版了源码解析和高性能架构方面的书,书籍还发行了繁体版。



我也不敢用360清理虚拟机垃圾。。。

也是个人模狗样的垃圾程序员。

唉。。。内卷。。。




注:

以上为戏谑性质的回复,供相关从业者一乐。

其他各个答主的回答也大都是这样的,抖机灵性质的。

为避免对初学者造成误导,按照个人理解(主要是对360实在不熟,没怎么用过),给出如下的正解:

  • Java的垃圾清理,即JVM(Java虚拟机)的垃圾清理,用来清理内存中不被引用的对象。其手段简要概括为使用可达性分析发现垃圾对象,使用复制移动算法来清理垃圾对象并实现内存的碎片整理。其作用的进程内部。
  • 360是一个应用程序,其垃圾清理包括硬盘中(主要是回收站)的垃圾文件清理、内存的清理。内存清理的主要作用范围应该是进程外部,因为进程内部的数据是否为垃圾,360作为一个独立的应用程序应该是很难判定的。

因此,两个垃圾清理并不是同一个概念,自然不能通用。


user avatar   balloonwj 网友的相关建议: 
      

谢邀,作为早期 Java 的开发者之一,我们团队当初确实尝试过使用 360 垃圾清理来对 Java 进行垃圾回收。

早些年,我们曾发布了使用 360 垃圾回收的 Java 试用版本,部分用户使用了这个版本之后,又成功地回到单身贵族家庭。为了对他们的付出表示感谢,我们邀请了这批用户来参观我们的 Java 炸鱼实验室。由于省去不必要的恋爱、婚姻花销,这批用户有更多的时间加班了。

我们当时收到了几百家公司的负责人的感谢信,他们在向我们表示感谢时说到,他们的员工现在有更多的时间专心工作了,当然公司的工时制度也进行了及时的跟进与创新,其中比较有名的几种工时制度,有大小周、超级大小周、996、007,这些新的工时制度真是人类工作史上的伟大创新。其中一位华氏集团的负责人的欣喜地告诉我们的商务,现在他们的员工们都斗志昂扬,积极为公司添砖加瓦、发光发热,原来好几天的工作任务,现在一两天就能完成了,因此公司短期内也取得了巨大的营收。同时,求职市场上,从这类公司离职的员工和管理层也特别受欢迎:一位叫张小方的普通员工,由于这段工作经历,让刚毕业两年的他具有三年多的工作经验,薪资也因此上涨了 0.5 倍;另一位某黄姓高管,受到前公司的工时制度的启发,回国后创立榨斗斗公司,全公司开启超级硬核奋斗模式,三年里成功将公司做到上市。

然而,另一方面,国际健康组织、国际卫生组织、国际人权组织等国际组织对我们在 Java 中使用 360 的垃圾回收这一做法表示遗憾。一位来自中国的周大树曾公开地发表了一篇谴责性文章,文章谴责了这些开启硬核奋斗模式的公司,同时谴责我们是始作俑者。他发表在《劳动者之歌》上的文章将这些试用了带 360 垃圾回收功能的员工比作野草,他说:野草,根本不深,花叶不美,然而吸取露,吸取水,吸取陈死人的血和肉,当它生存时,还要遭删刈,还要遭践踏。

最终事态发展到我们无法控制的程度了,这并不是我们 Java 开发团队所期望的。由于 360 垃圾回收具有庞大的用户群体,我们在 Java 直接采用,虽然可以降低部分 Java 新用户的学习成本,但这一事件影响范围也比较广泛。那么为啥在 Java 中使用 360 的垃圾回收会导致单身员工数量大幅度地增多呢?我们起初对这一现象也觉得不可思议,后来我们成立了专门的调查组,感谢调查组同事的辛勤工作,最终我们找到了真相:

众所周知,360 垃圾清理,顾名思义,一年中只能工作 360 天,有 5 天是不能工作的,而我们都知道 Java 虚拟机每天都会产生垃圾,这显然是不能满足要求的。 Java 一般都用于大型服务器后端服务开发,其访问量都是非常巨大的,如果一年 5 天不能工作,那么可靠性只能达到 98.9%,这是远远不够的。而且不算闰年,闰年不能工作的时间将由 5 天变成 6 天,这对于使用 Java 作为开发语言的互联网公司是无法接受的。

大多数年轻人,在大学毕业之后就离开了家乡,去城市打拼,然后认识了另外一半。用他们当中比较流行的一句话来解释一下这种现象——“故乡再无春夏秋”,因此他们一般只有在冬天,也就是年底的最后几天才有时间回一趟家乡,于是和丈母娘见面、谈婚论嫁的日子理所当然地被安排在这几天。

试想,你和你的女友约好年底最后几天去见丈母娘,并在见面后将彩礼转到丈母娘的卡上。

但是由于年底的最后几天支付宝和相关的银行服务器采用了 Java,而 Java 采用了 360 进行垃圾回收,最终由于你无法完成彩礼转账,导致丈母娘拒绝将女儿嫁给你。

你最终:

老婆 -1

这是大多数人无法接受的,由于不少未婚青年都是在年底回去和丈母娘谈判的,所以最终:

未婚青年们:

老婆s - 10086

这样社会上光棍就多了,社会上光棍多了就不利于社会的稳定,所以最终有关部门会介入了调查。调查后最终定位到问题的原因是使用 360 垃圾回收的 Java 无法在年底的 5 天或者 6 天工作。

当然,我们也尝试和 360 团队进行沟通,360 团队拒绝为一年剩下的五天提供服务,他们解释说,这样会导致他们的同事需要加班,他们不希望社会上已经形成的 996、007 等不良风气蔓延到他们公司。

因此,我们最终没有在 Java 中使用 360 的垃圾回收,并忍痛下掉了使用 360 垃圾回收的 Java 版本。

Java 团队和 360 团队都是伟大的团队,他们在垃圾回收中做的工作不分伯仲,都值得我们尊敬。


好啦,最后给大家分享一份我精心整理的书单:

获取方式:




  

相关话题

  GitHub 上可供新手阅读和玩耍的 Java 项目有哪些? 
  为什么jdbc:Access的url需要三个///符号呢? 
  战舰世界想氪金有什么好的推荐吗? 
  异常处理(exception handling)和错误处理(error handling)有什么区别? 
  华为自研的「仓颉」编程语言,未来能取代java的地位吗? 
  Java 平台中的 JVM 和 .Net 平台下的 CLR 分别是用什么语言写的? 
  .NET 和 Java 在 Web 开发上各有什么优缺点? 
  如何在一个月内提高 C++ 水平? 
  Java 有哪些好的设计? 
  对象和实例的在不同编程语言中的有什么区别? 

前一个讨论
为什么是剥削与被剥削的关系?你出资我出力难道不对吗?
下一个讨论
Apple Watch和三星、华为的产品相比,为了流畅度和操控性都牺牲了什么?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利