在该计划的准备Java的9月发布,甲骨文已经发布了即将进行的升级,其特点通过模块化大的变化移动应用指导。
新发布JDK(Java开发工具包)9迁移指南注意到,每一次更新都会带来二进制文件,源,并与以前的版本不兼容的行为。“Java SE平台的模块化带来了很多好处,但也有很多变化,”甲骨文表示。“代码,使用唯一的官方Java SE平台的API和支持JDK专用的API应该继续工作,没有改变。”但是,使用某些功能或JDK-内部API代码可能无法执行或可以给出不同的结果,该公司警告。
要为迁移做好准备,甲骨文建议得到早期进入编译,编译前运行的程序,更新第三方库,编译应用程序,并运行jdeps上的代码静态分析。当运行他们的应用程序,开发者提醒注意从JVM无法识别的VM选项。Oracle还建议在寻找测试,以确保应用程序的行为是一样的,因为它是在JDK 8。
使用JDK 9编译器编译可能会失败有很多原因,据甲骨文。大多数在JDK的内部API的默认情况下无法进入,因此开发商可能会在运行时出现错误 -IllegalAccessErrors- 指示应用或库都依赖于内部API。Java的相关性分析工具将确定的依赖。“你可能会看到比以前更多的废弃警告,”甲骨文表示。“如果你看到废弃与去除警告,你应该尽快解决这些。”
与垃圾收集,所述G1集电极开槽作为在32位和64位的服务器配置的默认收集器。“使用低暂停收集器,如G1应该提供更好的整体体验,对于大多数用户来说,不是一个面向吞吐量收集诸如并行GC,这是以前的默认,”甲骨文表示。“你应该看看你的VM参数,看看是否有什么要进行调整。”
JDK 9除去JavaDB之外,这是一个更名Apache Derby数据库,和JVM TI HPROF剂。该代理被写为JVM工具界面演示代码,而不是旨在成为一种生产工具。甲骨文称剂有用的功能已经由JDK更好的工具所取代。与jHat,不支持的,实验堆的可视化工具,被除去。
在Windows 32客户端虚拟机被删除,只有VM提供了一个服务器。“JDK 8和更早的版本中提供了一个客户端JVM与服务器JVM适用于Windows 32位系统缺省设置为客户端JVM,”甲骨文表示。“JDK只有9提供服务器JVM,服务器JVM具有更好的性能,尽管它可能需要更多的资源,这有助于降低复杂性。”Oracle还删除了一些的Mac OS的特定功能,包括AppleScript的引擎。
这个故事,“甲骨文PREPS开发者对Java 9升级”最初发表InfoWorld的 。