Java 8和Java 9之间的区别

Java 9版本引入了新的增强功能并添加了新功能。它包括 JShellHttp2Client,Java平台模块系统(JPMS),多版本jar文件,堆栈遍历API接口中的私有方法流程API更新集合API更新流API改进等。

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

  • Java 8和更早版本中,顶级组件是package。它将一组相关类型(类,接口,枚举等)放入一个组中,并且还包含一组资源,而Java 9引入了新的component:module(模块),它可以用来将一组相关的包放到一个组中,还可以放入另一个新组件:模块描述符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