Java 9版本引入了新的增强功能并添加了新功能。它包括 JShell,Http2Client,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程序包并没有将多个模块构建到一个模块中。
Packages - Types (classes, enums, interfaces, etc) - Code - Data - Resources - xml - images - properties
Modules (Resources, Module Descriptor) - Packages - Types (classes, enums, interfaces, etc) - Code - Data - Resources - xml - images - properties