Java 8和Java 9之间的区别
Java9版本引入了新的增强功能并添加了新功能。它包括 JShell,Http2Client,Java平台模块系统(JPMS),多版本jar文件,堆栈遍历API,接口中的私有方法,流程API更新,集合API更新,流API改进等。
以下是Java8和Java9之间的一些区别
在Java8和更早版本中,顶级组件是package。它将一组相关类型(类,接口,枚举等)放入一个组中,并且还包含一组资源,而Java9引入了新的component:module(模块),它可以用来将一组相关的包放到一个组中,还可以放入另一个新组件:模块描述符,module-info.java文件。
Java8应用程序将包用作顶级组件,而Java9应用程序将模块用作顶级组件。
每个Java9模块只有一个模块带有一个模块描述符,而Java8程序包并没有将多个模块构建到一个模块中。
Java8:
Packages - Types (classes, enums, interfaces, etc) - Code - Data - Resources - xml - images - properties
Java9:
Modules (Resources, Module Descriptor) - Packages - Types (classes, enums, interfaces, etc) - Code - Data - Resources - xml - images - properties