详情介绍
Java SE Development Kit 9 (简称jdk9)是一款针对Java开发员的软件开发工具包,历经曲折的Java 9正式版终于发布了!本平台提供最新版的jdk9.0正式版jdk-9_linux-x64_bin.tar.gz下载,需要的朋友可下载试试!
JDK9 提供超过 150 项新功能特性,包括备受期待的模块化系统、可交互的 REPL 工具 jshell,以及安全增强、扩展提升、性能管理改善等。
其他版本下载
人们期待已久的Java SE 9.0将在2017年9月21日发布,它会带来一些重要的变化。
JDK 9的核心变化就是引入了一种新的Java编程组件,也就是模块,按照Oracle的说法,它是一个可命名的、自描述的代码和数据集合。模块技术的核心目标是减少Java应用和Java核心运行时环境的大小与复杂性。为此,JDK本身进行了模块化,Oracle希望通过这种方式提升性能、安全性和可维护性。
为了支持Java 9的模块,引入一种新的模块化JAR文件形式,按照这种形式会在其根目录中包含一个module-info.class文件。Oracle同时提供了工具,允许我们组合和优化一组模块,形成自定义的运行时镜像(image),这样的镜像不必将整个Java运行时包含进来。模块化所带来的其他变化包括从Java运行时镜像中移除了rt.jar和tools.jar。
InfoQ与Ben Evans进行了交流,以了解他对Java 9.0模块系统的看法,他是Java社区进程(JCP)执行委员会的成员。
Evans:我认为最急需重构的应用恰好就是最适合进行模块化的应用。如果你已经备受Lava Flow / God Class / Stovepipe System地狱的折磨,而且你的利益相关方明确知道这一点,那么你可能更容易说服他们进行一次完整的底层重构,通过渐进式的努力形成一个完成的模块解决方案(而不是简单重构并迁移至Java 8)是值得去做的。
Oracle宣布Java 8会是一个长期支持的发布版本,会一直支持到2022年,因此Evans认为很多的应用将会停留在Java 8上,根本不会升级到Java 9。Evans补充说,有些应用可能会让开发和构建工具链使用Java 8版本,而在生产环境使用Java 9的运行时。
对特定类型的应用来说,这是很有帮助的。例如,我曾经见到有的电子商务网站具有非常大的堆空间,其中包含了大约40G的字符串数据。Java 9的ompact Strings技术能够将这种类型的内存使用减半。这反过来又会对GC的性能带来积极的影响。对于有些应用来说(这可能就包括大型的Solr安装环境及类似场景),单单这一项收益就值得将运行时升级到Java 9。
Java 9使用G1作为默认的垃圾收集器,替代了之前默认使用的Parallel GC。Evans对这项变化的评论:
这项变更是很重要的,因为相对于Parallel来说,G1会在应用线程上做更多的事情,而Parallel几乎没有在应用线程上做任何事情,它基本上完全依赖GC线程完成所有的内存管理。这意味着切换到G1将会为应用线程带来额外的工作,从而直接影响到应用的性能。
在很多(甚至可以说大多数)场景中,这种额外的性能损耗都不是什么问题。但是,在这方面,我确实也曾经见过从Parallel切换到G1时,有一定比例的工作负载会引起性能的下降。对于这些应用来说,这种性能下降是无法接受的,所以他们无法切换至G1收集器。随着G1成为默认的收集器,这将会影响到升级至Java 9的每个应用。
对于大型的代码库是否需要重构为模块的形式,InfoQ询问了Martijn Verburg的意见,他是JClarity的CEO,也是伦敦Java用户组(Java User Group)的联合组织者。
Verburg:需要这样做,另外,我还希望你要处理的大型代码库已经按照一定的模块化结构语义进行了拆分,不管你采用的是OSGi、Maven模块、JBoss模块,还是采用简单的内部规则,将包和接口的结构划分出清晰的边界都可以。
Verburg给出了一些通用的模块化建议,并且指出了开发人员在采用Java 9模块系统时,需要注意的一些事情:
阅读Paul和Sander的图书“Java 9 modularity”:它是本权威指南,提到了所有需要注意的地方,阐述了模块、包以及JAR之间如何运行的关联关系;
在模块边界的地方,使用定义良好的接口并且针对这些接口编程;
不要拆分包(split package),也就是说一个包不要分散到两个模块中。Adopt OpenJDK有个探测工具,我们可以用它来探测已有的代码;
确保不要存在循环依赖(Jigsaw不允许这样);
模块在源码的布局上与我们已习惯的方式有所不同,需要确保构建工具能够进行对应的处理;
Jigsaw不支持多版本。
按照Verburg的说法,核心要点在于处理循环依赖、拆分包的问题,并确保针对接口进行编码。在尝试使用Jigsaw模块化重构之前,针对已有的代码库,这些工作需要预先完成。他还澄清了一个误解,那就是只有模块化的应用才能在Java 9上运行。
由于误解,在这方面有一种FUD(恐惧、不确定和怀疑)情绪,有人误认为在Java 9上运行的必须是模块化的应用。事实并非如此,我们可以将已有的基于类路径的应用直接在Java 9上运行。这里会有一些新的安全限制,因此我们需要设置一些特定的运行时标记(除非你重构代码,使用更安全的方式来访问Java的内部资源),即便如此,默认的行为也只是警告,而不是完全阻止我们(Java 10的限制会更严格)。
Verburg认为Jigsaw会是一个基石,会让Java的演进更快,这要归功于Mark Reinhold、Alan Bateman、Mandy Chung以及Jigsaw团队的其他成员多年来不知疲倦的工作,正是他们的努力使这一切得以实现。
Java 9还引入了jshell工具。这个命令行环境为Java平台带来了读入-求值-打印-循环(Read-Eval-Print-Loop,REPL)功能。它的目的在于以即时结果和反馈的形式,简化原型的实现并帮助我们探索语言在编码时的可选项。
Verburg和Evans看到Java 9中包含了jShell都非常兴奋,但令他们失望的是,HTTP/2只是作为Java 9的一个孵化模块(incubator module)提供的。鉴于社区对这项特性的兴趣和提供的帮助,Evans认为Oracle应该投入足够的工程资源,将HTTP/2交付为GA版本。
下载地址
人气软件
EXT界面图形工具Ext Designer 特别版
myeclipse2016破解工具 v1.0 破解补丁(附安装教程)
Zend Studio 10.1.0与10.0.1 破解文件与注册码打包
Python Tutor(代码可视化软件) v1.3.5.16 免费版
php编写工具 PHP Expert Editor v4.2 中文特别版
jetbrains pycharm professional(python开发工具) v4.0.5 特别版
Eclipse Neon v4.6.0 64位 官方安装免费版(附汉化包)
WebStorm 2017.3.3 正式版 官方安装版(附汉化包) JavaScript开发
myeclipse 2017 ci 3 破解工具 破解补丁CI激活码 免费版
TopStyle v4.0.0.68 英文绿色特别版 CSS编写工具带预览功能
相关文章
- Frpmgr(FRP GUI客户端) v1.16.0 绿色免费版 32/64位
Frpmgr 是一个Windows平台的FRP GUI客户端。软件拥有简易的编辑界面,可以快速完成配置,欢迎需要的朋友下载使用...
- Java SE Development Kit 22(JDK22) v22.0.1 Win64 官方最新正式版
JDK22是 Java SE 官方发布的最新版本,新版在性能、稳定性和安全性方面进行了数千种改进,包括进一步优化平台的增强功能,该版本包含 12 个 JEPs...
- NI LabVIEW 2024 Q1 v24.0.0.49238 中文完整免费版(附授权工具+教程)
LabVIEW 2024中文版是一款引领图形化编程潮流的软件,它以其直观、易用的界面和强大的功能,为广大编程工作者带来了前所未有的编程体验,欢迎需要的朋友下载使用...
- CIMCO Edit 2024 v24.01.01 中文正式免费版(附安装教程) 64位
cimco edit仿真软件是一款功能强大的一体化CNC解决方案 ,使用为用户提供了完善的CNC编辑器,DNC软件,制造数据收集和制造数据管理解决方案...
- 悟空编程 V1.0.3.31120 Linux最新安装版
悟空编程编程入门学习使用组合积木即可模拟编程逻辑制作可交互程序,培养学生对编程的兴趣,老师也可以通过编程完成高质量的交互式课件,提升课堂效果等...
- 悟空编程 v3.0.1.40226 官方安装版 32位
悟空编程编程入门学习软件支持组合积木即可模拟编程逻辑制作可交互程序,培养学生对编程的兴趣,老师也可以通过编程完成高质量的交互式课件,提升课堂效果等...
下载声明
☉ 解压密码:www.jb51.net 就是本站主域名,希望大家看清楚,[ 分享码的获取方法 ]可以参考这篇文章
☉ 推荐使用 [ 迅雷 ] 下载,使用 [ WinRAR v5 ] 以上版本解压本站软件。
☉ 如果这个软件总是不能下载的请在评论中留言,我们会尽快修复,谢谢!
☉ 下载本站资源,如果服务器暂不能下载请过一段时间重试!或者多试试几个下载地址
☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持!
☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。
☉ 本站提供的Java Development Kit 9(jdk9.0) linux 64位 官方正式版资源来源互联网,版权归该下载资源的合法拥有者所有。