最近大数据开源软件很活跃,包括hadoop生态和spark生态。从最近的一些发布来看,大数据开源软件已经逐渐放弃了对java6的支持。Hadoop生态Hadoop上月底发布了最新的2.7.0版本,并声明:“该版本的Hadoop不再支持JDK1.6运行环境,并且只支持JDK7+”。Spark生态系统最近,spark社区也很活跃,在讨论是否应该终止Java6。经过几天的讨论,社区决定从Spark1.5开始,不再支持Java1.6!(1)Spark1.4.x(~2015年6月)将在Java6、7、8上运行;(2)Spark1.5+(~2015年9月)将仅适用于Java7、8,不再支持Java6!与Java1.4到1.5相比,Java6和Java7发生了重大变化,编译时间得到了极大的改善。Java6优化了运行时智能。Java7的主要改进是模块化。下面我们来分析一下Java7的主要变化:*Modularization模块化——JSR294或ProjectJigsaw*JVM对动态语言的支持*更多新的I/OAPI即将完成,包括真正的异步I/O和最终真正的文件系统文件系统API–JSR203*对XML的本地语言支持。(可能)*安全重新抛出——允许catch捕获语句,使编译器更智能地根据什么情况重新抛出什么。*Null取消引用表达式——Null和'?'语法对比,类似Groovy的语法……让开发者避免过多的空值校验。*BettertypeinferenceBettertypeinference*MultiplecaptureMulti-catch*JSR296–Swingapplicationframework应用程序框架–这方面需要更简单和更简洁。“小”sun修改包括:*升级的类加载器架构;*用于Java2D的XRender管道:OpenJDKntegratorsChallenge项目;*Swing更新——JXLayer、DatePicker、CSS样式等;*JavaFXsunaspect“快速”修改,主要是性能更新:*concurrencyconcurrencytweaks(JSR166)中的小调整,更好地支持Multicore*G1garbagecollectorGarbagecollector-带来更小的中断时间,并有望取代CMS(Concurrentmarksweep)GC*Compressedpointerfor64bitVMCompressedpointer*MVM-lite–多个虚拟机可以独立运行应用程序并允许使用kill-9杀死java应用程序。
