专业的软件下载网站!

Java SE Development Kit 9v9.0.4官方版

Java SE Development Kit 9v9.0.4官方版

编程开发  |   357.1M

语言:简体

3 .0

电脑版下载

应用简介


JavaSE开发工具包jdk作为目前最常用的编程开发语言,已正式推出9.0新版本。这次jdk9推出了很多新功能,让需要使用java开发的用户跃跃欲试。立即下载并体验最新的jdk9。









Java SE开发工具包(jdk)作为目前最常用的编程开发语言,已正式推出新版本9.0。这次jdk9推出了很多新功能,让需要使用java开发的用户跃跃欲试。立即下载体验最新的jdk9.0



Java  SE  Development  Kit  9



基本介绍



Java SE、JDK 9现已正式发布!首先,jshell这个新功能无疑让JAVA再次领先其他编程语言和平台10多年! Java 开发人员不再需要羡慕其他语言自带的REPL,也不再需要打开Groovy shell 只是为了尝试Java 功能。第二个最重要的特性是Jigsaw——Java 的模块化。有了它,自己定制/定制JDK 变得更加简单。



JDK(Java Development Kit)是整个Java的核心,包括Java运行环境、Java开发工具和Java基础类库源代码。 JDK作为JAVA开发的环境,是运行JAVA程序不可或缺的环境。无论你是做JAVA开发还是Android开发,你的电脑上都必须安装JDK。从小型设备到智慧城市,Java 的贡献是任何其他技术无法比拟的。



开发构成



javac 将源程序转换为字节码的编译器



jar 一种打包工具,将相关的类文件打包到一个文件中



javadoc - 从源代码注释中提取文档的文档生成器



jdb 调试器、错误检查工具



java 运行编译好的java程序(.class后缀)



appletviewer:applet浏览器,一种对html文件执行Java applet的Java浏览器。



Javah:生成可以调用Java过程的C过程,或者为C过程创建可以被Java程序调用的头文件。



Javap:Java 反汇编器,显示已编译类文件中可访问的函数和数据,同时显示字节码含义。



Jconsole:用于系统调试和监控的Java工具



软件特点



jdk9下载



1.Java平台级模块系统



Java 9 的定义特征是新的模块系统。随着代码库变得越来越大,创建复杂、令人费解的“意大利面条代码”的机会呈指数级增长。这时,你要面对两个基本问题:很难真正封装代码,系统对不同部分(即JAR文件)之间的依赖关系没有明确的概念。每个公共类都可以被类路径上的任何其他公共类访问,这可能会导致无意中使用不打算公开访问的API。此外,类路径本身还存在问题:您如何知道所有必需的JAR 都已存在,或者是否存在重复条目?模块系统解决了这两个问题。



模块化JAR 文件包含附加模块描述符。在这个模块描述符中,对其他模块的依赖通过“requires”来表达。此外,“exports”语句控制哪些包可以被其他模块访问。所有未导出的包默认都封装在模块中。以下是“module-info.java”文件中存在的模块描述符的示例:



模块博客{



导出com.pluralsight.blog;



需要cms;



}



2. 链接



当您使用具有显式依赖关系的模块和模块化JDK 时,就会出现新的可能性。您的应用程序模块现在将声明其对其他应用程序模块及其使用的JDK 模块的依赖关系。为什么不使用此信息来创建一个仅包含运行应用程序所需的模块的最小运行时环境?这可以通过Java 9 中的新jlink 工具实现。您可以创建针对您的应用程序优化的最小运行时映像,而无需使用完全加载的JDK 安装。



3. JShell:交互式Java REPL



许多语言已经有了交互式编程环境,Java 现在也加入了这个俱乐部。您可以从控制台启动jshell并直接启动Java代码的输入和执行。 jshell 的即时反馈使其成为探索API 和尝试语言功能的绝佳工具。



测试Java 正则表达式是jshell 如何让您的生活更轻松的一个很好的例子。交互式shell 还可以提供良好的教学环境并提高生产力,您可以在此处了解更多信息。在教人写Java的过程中,没必要再解释“public static void main(String[] args)”这些废话了。



4.改进的Javadoc



有时,小事可以带来很大的不同。您是否像我一样一直在使用Google 来查找正确的Javadoc 页面?这不再需要了。 Javadoc 现在支持在API 文档中搜索。此外,Javadoc 输出现在符合HTML5 标准。此外,您会注意到每个Javadoc 页面都包含有关JDK 模块类或接口的源的信息。



5.集合工厂方法



通常,您希望在代码中创建一个集合(例如List 或Set )并直接用一些元素填充它。实例化集合,多次“添加”调用,使代码重复。 Java 9,添加了几个集合工厂方法:



SetInteger ints=Set.of(1, 2, 3);



ListString 字符串=List.of('第一', '第二');



除了更短、更易读之外,这些方法还使您无需选择特定的集合实现。事实上,从工厂方法返回包含多个元素的集合的实现是高度优化的。这是可能的,因为它们是不可变的:创建后,继续向这些集合添加元素将导致“UnsupportedOperationException”。



6. 改进的流API



Stream API 长期以来一直是对Java 标准库的最佳改进之一。通过这组API,可以在集合上建立转换的声明管道。在Java 9 中会变得更好。 Stream 接口中添加了四个新方法:dropWhile、takeWhile、ofNullable。 iterate 方法还有一个新的重载,允许您提供谓词来指定何时结束迭代:



IntStream.iterate(1, i - i 100, i - i + 1).forEach(System.out:println);



第二个参数是一个Lambda,当当前IntStream 中的元素达到100 时,它返回true。所以这个简单的示例将1 到99 打印到控制台。



除了对Stream本身的扩展之外,Optional和Stream之间的耦合性也得到了改善。现在可以通过Optional的新方法“stram”将Optional对象转换为(可能为空)Stream对象:



StreamInteger s=Optional.of(1).stream();



在组成复杂的Stream 管道时,将Optional 转换为Stream 非常有用。



7. 私有接口方法



Java 8 为我们带来了接口的默认方法。接口现在还可以包含行为,而不仅仅是方法签名。但是,如果接口上有多个代码几乎相同的默认方法,会发生什么情况?通常,您将重构这些方法以调用可重用的私有方法。但默认方法不能是私有的。创建重用代码作为默认方法并不是解决方案,因为辅助方法将成为公共API 的一部分。使用Java 9,您可以向接口添加私有帮助器方法来解决此问题:



公共接口我的接口{



无效正常接口方法();



默认无效interfaceMethodWithDefault() { init(); }



默认无效anotherDefaultMethod() { init(); }



//此方法不是MyInterface 公开的公共API 的一部分



private void init() { System.out.println('初始化'); }



}



如果您正在使用默认方法开发API,那么私有接口方法可能有助于构建其实现。



8.HTTP/2



Java 9 中有处理HTTP 调用的新方法。这一最新功能取代了旧的“HttpURLConnection” API,并提供对WebSocket 和HTTP/2 的支持。注意:新的HttpClient API 在Java 9 中作为所谓的孵化器模块提供。换句话说,这个API不能保证100%完成。



9. 多版本兼容JAR



我们要强调的最后一个功能对于库维护人员来说尤其是好消息。当Java 的新版本发布时,库的用户可能需要数年时间才能切换到新版本。这意味着该库需要向后兼容您想要支持的最旧的Java 版本(在许多情况下是Java 6 或7)。这实际上意味着在未来很长一段时间内,你将无法在你的库中使用Java 9提供的新功能。



最新功能



——最有趣的新功能无疑是jshell。有了它,JAVA无疑将再次领先其他编程语言和平台10多年!骑士队继续火爆20年是没有问题的。因为它通过Graal+Truffle 和Substrate VM 开启了无限的可能性! Java 开发人员不再需要羡慕其他语言自带的REPL,也不再需要打开Groovy shell 只是为了尝试Java 功能。



Java  SE  Development  Kit  9



—Jigsaw——Java的主要特点是模块化。有了它,自己定制/定制JDK 变得更加简单,包冲突也将变得更容易发现和解决。



——作为JVM JIT编译器研发,最关心的功能就是JVMCI。有了它,第三方开发者可以更方便地将一些强大的插件插入到HotSpot VM中。例如,可以从外部配置插入新的JIT。译者。这样,就可以非常轻松地在HotSpot VM 上使用Graal 编译器,而不必专门使用修改过的Graal VM。 Oracle JDK 9计划在未来的更新版本中发布支持的AOT编译器,而这个AOT编译器是基于Graal和JVMCI的。



—Oracle JDK 9/OpenJDK 9 使用G1 作为默认GC 选项。如果要使用其他GC,例如并行GC和CMS GC,则必须在命令行中显式指定。这可能对当前使用CMS GC 的人没有影响。毕竟,使用CMS GC 时必须显式配置-XX:+UseConcMarkSweepGC 选项。而就目前的原因



发展分类



java.lang:这是系统的基础类,比如String等,这个包是唯一不需要import就可以使用的包。



java.io:这里包含所有输入输出相关的类,比如文件操作等。



java.nio:为了完善io包的功能,提高io包的性能而编写的新包,如NIO非阻塞应用



java.net:包含网络相关的类,如URL、URLConnection等。



java.util:这是一个系统辅助类,特别是集合类Collection、List、Map等。



java.sql:这是数据库操作的类,Connection、Statement、ResultSet等。



javax.servlet:这是JSP、Servlet等使用的类。

热门攻略

特别推荐