Java 8 和 Java 9 的区别?


Java 9 版本引入了新的增强功能并添加了新特性。包括**JShell**、**Http2Client**、Java 平台模块系统 (**JPMS**)、**多版本 jar** 文件、**栈追踪 API**、**接口中的私有方法**、**进程 API 更新**、**集合 API 更新**、**Stream API改进**等等。

以下是 Java 8 和 Java 9 之间的一些区别

  • 在**Java 8** 及其之前的版本中,顶级组件是**包**。它将一组相关的类型(**类、接口、枚举**等)组合在一起,并且还包含一组资源,而 Java 9 引入了一个新的组件:模块,它可以用来将一组相关的包组合在一起,还有一个新的组件:**模块描述符**,**module-info.java** 文件。
  • Java 8 应用程序使用包作为顶级组件,而 Java 9 应用程序使用模块作为顶级组件。
  • 每个 Java 9 模块只有一个模块和一个模块描述符,而 Java 8 包不会将多个模块构建到单个模块中。

Java 8

Packages  
   - Types (classes, enums, interfaces, etc)
      - Code
      - Data
      - Resources
         - xml
         - images   
         - properties

Java 9

Modules (Resources, Module Descriptor)
   - Packages
      - Types (classes, enums, interfaces, etc)
         - Code
         - Data
         - Resources
            - xml
            - images
            - properties

更新于:2020年3月23日

2K+ 阅读量

启动您的职业生涯

通过完成课程获得认证

开始学习
广告