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



为什么jvm不用协程实现 gc 呢? 第1页

  

user avatar   zhao-ce-33 网友的相关建议: 
      

gc跟io啥关系?

gc不是cpu密集型操作么?

啥时候成io密集型了

io要么操作网络,要么操作硬盘上的文件

gc时候既不需要网络,也不需要硬盘,几乎是纯内存操作,处理的都是内存

协程/虚拟线程/绿色线程 对这一块影响很小

另外java在诞生的时候,有些平台上(比如solaris)就已经有虚拟线程了,那时候叫做green thread,绿色线程

只是后来觉得不应该对操作系统的线程做包装,所以就没有继续使用下去,而且当时的重点也不在那边,有其他更重要的问题要解决

所以java在诞生的时候,就已经有了类似的技术,只是对gc这一块影响并不大

还有就是,现在gc这一块,明显是原来bea的jrockit团队更强

zgc就是bea的jrockit的per liden做的,shenandoah是red hat做的

都不是hotspot团队做的,所以hotspot的人,对短暂停gc的造诣相对没那么深

然后现在在做的虚拟线程,是ron pressler做的,最早ron pressler是做quasar那个东西的

所以java是很大一块东西,很多特性都是不同的人做的

这些人,如果追溯到早期,都不在sun一家公司里面,所以指望一开始就吃成胖子,并不现实




  

相关话题

  为什么那么多公司仍然在使用JDK6? 
  程序员必须掌握哪些算法? 
  下面代码是线程不安全的代码,请问为什么很难跑出不安全的样例? 
  Test Driven Development 一定要用单元测试来实现吗?单元测试是否会影响工作效率? 
  i2c为什么会有TR和TF上升沿和下降沿时间最小时间限制? 
  JavaScript(V8,Node) 的开发效率比 Java(JVM,Vert.x) 高在哪里? 
  两年嵌入式C语言编程经验,如果有机会做和 Android 相关的 C++、JAVA,还有 Javascript 脚本开发工作,转过去好吗? 
  C「带坏了」多少程序语言的设计? 
  Java里一个线程调用了Thread.interrupt()到底意味着什么? 
  为什么全网甚至全中国找不到一个能轻松,清晰,简洁明了把java编程讲清楚的人? 

前一个讨论
2010 年代,是否大多数国家和地区倾向于将厕纸直接冲入马桶,而中国人不习惯这样做?如果是,为什么?
下一个讨论
你们认为阳刚之气到底是怎么样的?





© 2025-04-19 - tinynew.org. All Rights Reserved.
© 2025-04-19 - tinynew.org. 保留所有权利