Java9新特性——module模块系统

时间:18/01/03 07:48:38 点击:

 
     
      官方文档:…
     关于 java9的新特性,官方原文:…
     这玩意就是一个列表,具体的技术细节需要根据官方文档挖一挖。
     modular-模块系统
     java9的模块化,从一个独立的开源项目而来,名为Jigsaw。
     项目官网:…
     为什么要使用模块化
     java开发者都知道,使用java开发应用程序都会遇到一个问题,Jar hell,他就像windows里的dll hell。
     比如我们启动一个不算大的应用,但依赖了很多的jar,如下图:
     摘自:Mark Reinhold的演讲?v=l1s…
     这是很常见的。虽然你可以使用 'java -Djava.ext.dirs=lib xxx' 让命令行小一些,但不可否认,他的classpath就是那么长。顺便说一句,java9中不允许使用extdirs了。
     另一方面,jdk本身有很多的api:
     对于一些小设备,它太庞大了。
     helloworld
     还是习惯先来一个helloworld。在此之前,需要先检查一下你的java版本:
     java -versionjava version '9'Java SE Runtime Environment Java HotSpot 64-Bit Server VM 如果不是java9,而是 1.8、1.7,那么慢走不送。
     创建主类
     首先创建一个java类,就叫Demo吧。
     文件保存为:src/com/pollyduan/modular/Demo.java
     ;public class Demo{ public static void main{ System.out.println; }}编译:
     $ javac -d classes src/.java$ tree ..├── classes│ └──│ └── pollyduan│ └── modular│ └── Demo.class└── src └── └── pollyduan └── modular └── Demo.java打包jar并执行
     $ mkdir lib$ jar cvf lib/demo.jar -C classes .$ java --class-path lib/demo.jar.pollyduan.modular.Demohello modular.--class-