美文网首页
JDK 9 有啥新东西(一)

JDK 9 有啥新东西(一)

作者: 6d5497358167 | 来源:发表于2018-11-27 19:13 被阅读0次

    What’s New in Oracle JDK 9

    https://docs.oracle.com/javase/9/whatsnew/toc.htm[英文原文]

    E77563-05

    September 2017

    Overview of What’s New in JDK 9

    JavaSE 9 是一个大版本. 下边是 Oracle JavaSE 9 及 JDK 9 的一些特性及改进。

    一条 JEP 是为 JDK 设计及实现改进的提议。
    http://openjdk.java.net/jeps/1[查看 JEP 1: JDK 改进提议及处理流程。]
    JSR 描述了对 Java 平台的提议及最终确认的标准。
    https://www.jcp.org/en/jsr/overview[看 JSR 介绍。]

    JDK 9 中的关键改变

    These changes affect more than one technology area.
    这些改变影响多种技术领域。

    |特性 |说明
    |Java 模块系统 |Java 模块化系统引入了一种新的编程组件 —— 模块,模块自声明了一系列代码及数据。模块系统:

    • 在编译阶段及运行阶段引入新的阶段(可选)——链接过程,此阶段一系列模块可以组装并优化成特定的运行时镜像(image);
      查看 JavaSE 工具参考中的 https://docs.oracle.com/javase/9/tools/jlink.htm[jlink] 工具说明。

    • javac、jlink、java 等工具都增加了模块路径选项,指明模块定义位置。

    • 引入模块化 JAR 文件,JAR 文件根目录中的 module-info.class 文件。

    • 引入 JMOD 格式,类似 JAR 的一个打包格式,但是 JMOD 可以打包原生代码及配置文件;查看 jmod 工具。(TODO)
      The JDK itself has been divided into a set of modules. This change:

    JDK 本身也拆分成了一系列模块,包括:

    • 支持 JDK 模块组合成多种配置,包括:

    • 为容纳模块及提升性能、安全及可维护性,重新组织 JDK 及 JRE 运行镜像。

    • 为避免暴露存储在镜像中的命名模块、类、资源内容的结构或格式,定义新的 URI 模式。

    • 删除 endorsed-standards 重载及扩展机制。

    • 从 Java 运行时镜像中删除 rt.jartools.jar

    • JDK 内部 API 默认不可访问,一些关键、广泛使用的会直到大部分功能有替代品时不可访问。
      运行命令 jdeps -jdkinternals 检查你的代码使用了哪些 JDK 内部 API。

    更多信息请参阅:

    |JEP 223: 新的版本号编码方式
    |
    提供简单的版本号格式明确区分主版本、小版本、安全版本及修正版本更新发布

    新的版本号格式如:
    MAJOR.MINOR.SECURITY.PATCH

    $MAJOR 在主版本发布时增加。
    如 JDK 9, 包含大量的 Java SE 标准指定的新特性。
    主版本包含很早就计划并公布要增加的新特性及现有特性修改。

    $MINOR 在小版本更新时增加,如问题修正,标准 API 修正,或者实现 Java 之外标准。

    $SECURITY 在安全更新发布时增加,包含关键修正及提升安全性修改。

    $PATCH 是包含安全及经过测试的高优先级客户的问题修正。

    查看 JavaSE 安装指南中的 https://docs.oracle.com/javase/9/install/version-string-format.htm[新版本号格式]
    |###

    JDK 9 安装程序更新

    JDK 9 增强了 Microsoft Windows 及 macOS 平台安装程序。

    Microsoft Windows 安装程序增强
    |###
    |特性 |说明
    |安装程序界面中可以启用或禁用 Web Deployment
    |在安装程序欢迎页提供启用或禁用 Web Deployment 选项。
    要启用 Web Deployment ,在欢迎页面选择定制安装,点击安装后在浏览器复选框中选择启用 Java 内容。
    |###

    macOS 安装程序增强

    |###
    |Feature |Description
    |CPU 版本号
    |卸载当前 CPU 版本后新 CPU 版本可用时提供通知。

    |用户体验
    |提升 JRE 升级用户体验。
    |###

    JDK 9 工具更新

    JDK 9 中这些工具有增强。
    |###
    |特性 |说明

    |JEP 222: jshell: Java 命令行 (Read-Eval-Print Loop)(**老唐:直接输入 jshell 进入命令行模式,可以写简单的代码直接允许)
    |Java 平台增加了 Read-Eval-Print Loop (REPL) 功能。

    jshell 工具提供了命令行接口用于执行 Java 语言的声明、语句及表达式

    jshell 即时反馈能方便原型试验及探索代码不同参数选项。

    即时反馈加上启动表达式对于学习 Java 语言或者新的 API 或新特性都很有帮助。

    参考 JavaSE 工具参考中的 https://docs.oracle.com/javase/9/tools/jshell.htm[jshell] ,及 JavaSE Java Shell 用户指南中的 https://docs.oracle.com/javase/9/jshell/introduction-jshell.htm[JShell 介绍]

    The JShell API enables applications to leverage REPL functionality. See the jdk.jshell package.

    JShell API 允许应用程序借助 REPL 功能。参考 https://docs.oracle.com/javase/9/docs/api/jdk.jshell-summary.html[jdk.jshell] 包.

    相关文章

      网友评论

          本文标题:JDK 9 有啥新东西(一)

          本文链接:https://www.haomeiwen.com/subject/wqenqqtx.html