|
全景透视 Oracle 对 Sun 的未来规划在经过了将近9个月的漫长等待后,Oracle终于获得欧盟的批准成功完成对Sun的收购。近日Oracle宣布了对Sun技术与平台的未来规划。 在经过了将近9个月的漫长等待后,Oracle终于获得欧盟的批准成功完成对Sun的收购。近日Oracle宣布了对Sun技术与平台的未来规划。 Java、JVM及JVM上的各种语言 Oracle产品开发高级副总裁Thomas Kurian说,Oracle计划集成Sun HotSpot与Oracle JRockit Java虚拟机;他又补充到,Oracle打算”振兴“Java开发者社区并将Java编程模型的触角延伸到新近涌现的应用开发范式上来。比如说,Oracle计划增加模块化特性、为Java SE增加多核处理支持、为Java ME增加新的特性,如多点触摸等。 InfoQ联系到了Allex Miller以了解Oracle对JVM的规划: 在经过了将近9个月的漫长等待后,Oracle终于获得欧盟的批准成功完成对Sun的收购。近日Oracle宣布了对Sun技术与平台的未来规划。 Java、JVM及JVM上的各种语言 Oracle产品开发高级副总裁Thomas Kurian说,Oracle计划集成Sun HotSpot与Oracle JRockit Java虚拟机;他又补充到,Oracle打算”振兴“Java开发者社区并将Java编程模型的触角延伸到新近涌现的应用开发范式上来。比如说,Oracle计划增加模块化特性、为Java SE增加多核处理支持、为Java ME增加新的特性,如多点触摸等。 InfoQ联系到了Allex Miller以了解Oracle对JVM的规划: 我感觉Oracle想将BEA LiquidVM ”JVM on a hypervisor“技术中的精华部分整合到现有的HotSpot代码中;当然了,虚拟化是JRockit JVM中最有意思,也是最棒的部分,非常迎合当前的虚拟化、云、集群等趋势,可以通过这些手段管理计算机资源,相对于IBM J9 JVM来说,这些内容也是极具竞争力的。 我也觉得移除permgen并使用thread-local的GC非常好。thread-local的GC指的是对逃逸分析(escape analysis)和堆栈分配(stack allocation)的优化,而Hotspot已经在这方面做了很多工作。大多数程序所创建的临时对象都用在单独的线程上下文中,很少被其他线程所用。这样,我们就可以直接在栈上为这些对象开辟内存空间(这么做更快),无需使用堆,也不必使用常规的GC手段进行对象检测与移除了(这么做会降低GC的次数,进而提升效率)。 对permgen的改进亟须解决一个问题:像Groovy或是JRuby这样的语言会在执行期动态生成大量的小类(small classes)以提供动态特性,而随着JVM上动态语言的不断增多,该问题也变得越来越严重。这些类污染了Java内存中特定的“permgen”部分而且难以回收,导致了严重的内存问题。JSR 292的invokedynamic就是为了解决该问题的:动态语言可以通过该指令在运行期直接链接到调用地址上,因此避免了生成大量内部类的烦恼。 我认为最好的处理方式并不是消灭掉这些JVM,而是取其精华,弃其糟粕。这些工程团队都有一些优秀的人才,他们做出了很多创新性的工作,我希望他们能在这个领域继续做下去,只有这样JVM才能继续充当老大的角色,吸引众多具有开创性的新语言,如Scala、Clojure、Groovy及JRuby等。 Oracle对JCP的未来及其在Java 7中所扮演的角色所谈甚少,来自RedMonk的Stephen O'Grady指出: 我觉得Oracle对JCP的态度要比Sun此前的做法更注重实效,但现在还很难预测未来的走向。 责编:王立新 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
最新专题 推荐圈子 |
|