JDK和JRE的改变

**
JDK8的目录结构:
image.png
JDK9目录结构:
image.png
JDK9删除了jre,增加了jmods

为什么要增加模块化系统?

  • java20多年的历史,导致其开始雍容、庞大。JVM启动会加载rt.jar,至少占用30-60M内存。
  • Java代码库越来越大,项目开发中各种框架和代码库使得项目变的非常庞大。不适合小的计算设备(比如嵌入式的系统等等)
  • 模块化组件化是编程的必然趋势。很多语言(js等等)早已经增加模块化系统,Java只是顺应趋势,增加了模块化系统而已。

    JDK9怎么实现模块化的?

    很简单,在package外在增加一层module,叫为模块化,用module来管理package,用package来管理class文件,主要是指定哪些package可以暴漏,哪些可以隐藏。用module将JDK分为一组模块,可以在编译、运行或构建时,自由组合使用。

另外增加jlink工具,定制java运行时环境。

如何使用?

创建两个模块,module1和module2,然后module1中创建一个User类,module2中引用User类。

  1. 创建com.module1


最终结果如下:
image.png