JavaOne已经结束几天了,在走势方面,其实外部消息已经非常非常多了,毕竟现在Oracle掌控了Oracle、MySQL、两个使用面最广的JVM(JRockit、 Hotspot)的发展方向,再结合我和jrockit、hotspot一些人聊后对JVM发展的更多感想吧。
Larry and Exalogic
Exalogic
Exalogic内的机器
可惜在MySQL的发展方向上Oracle没说什么,大家还是很迷糊。
1. JRockit和Hotspot将合并,且以hotspot为base,移植jrockit的feature到hotspot上;
2. 将从Hotspot中移除PermGen,这算是向JRockit和J9靠拢了;
3. 低延时的gc;
4. JRockit Mission Control将支持Hotspot;
5. JDK 7以及8的发布时间,包含的特性,这个其实之前Mark Reinhold在blog上已经写了,只是宣布后让之前没看过blog的更多人再失望下;
6. Java在client端的发展,例如Java FX要更好的支持3D,支持html 5等;
JavaOne keynote现场,场地那个大呀
JavaOne General Technical Sessions现场
问Tony的问题主要是两个:
1. jmap -histo [pid]很多时候只能看到是什么类型占用了内存,通常看到的最多就是[C的占用,但无法知道是谁创建了这个[C,只能通过dump来看,这一方面是比较麻烦,另一方面是有些时候dump就来不及了,是否可以考虑在jmap上实现直接查看对象的引用关系;
Tony answer:
这块现在主要是netbean profiler team在control,我们不好去control.
2. 有些时候我们需要在应用启动后就加载一些数据到内存中,而这些数据是会一直存在的,如果能将这些数据放到一块gc不会扫描到的区域,而又可以以直接对象的方式访问,那对于提升系统的性能可能会有不小帮助,你怎么看呢?
Tony answer:
是的,我们也有考虑过提供这块的支持,但这需要Oracle的确认。
问Marcus Hirt的问题主要是:
1. 你对G1怎么看,是否比现在JRockit的gencon gc更强?
Marcus Hirt answer:
目前G1还处于开发阶段,不好评价,需要等到其到了production mode才好评价。
2. JRockit Mission Control什么时候能支持Hotspot呢?
Marcus Hirt answer:
大概需要两年,因为有很多难点。
大家从上面的这些交流能看出什么呢,呵呵,我自己的感觉是Oracle对Java的Control确实会更…James Gosling离开的主要原因呀,这对Java的发展可能会不利,只能寄希望于有越来越多的人参与到OpenJDK,由社区来决定和加速Java的发展,另外能感觉到的是Hotspot和JRockit融合绝对没有想象中那么简单、顺利,而且Oracle主要还是着重商业上的发展。