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一家公司里面,所以指望一开始就吃成胖子,并不现实