Well, java 9 is available so let’s make modules!
模块化在Java9中是炒鸡炒鸡重要的!今后,模块将是应用程序的基础构建单位。无论是使用动态语言或静态语言编写,模块都是应用程序的一个重要组成部分,且模块遵循单一功能原则。你可以将任意方法称为模块,正如 函数式编程 也是基于模块一样。好了,总之,你get到这个点之后就记住:以后模块很重要很重要很重要 The important thing is need to be said 3 times!
步骤:
步骤1:下载Java 9并安装
步骤2:创建一个模块java文件
步骤3:模块文件路径
步骤4:编写一个模块
步骤5:向我们的模块添加代码
步骤6:编译我们的模块
步骤7:运行我们的模块
1、下载Java 9并安装
下载地址:
下载后,只需点击它即可进行安装(如果您在MacOS上),并确认已安装:
tomerb@tomerb-mac.local:~$ java --version java 9-eaJava(TM) SE Runtime Environment (build 9-ea+164) Java HotSpot(TM) 64-Bit Server VM (build 9-ea+164, mixed mode) tomerb@tomerb-mac.local:~$ cd ~/tmp tomerb@tomerb-mac.local:~$ mkdir -p ~/tmp/java9-modulestomerb@tomerb-mac.local:~$ cd ~/tmp/java9-modules1234567
2、创建一个模块java文件
在Java 9中,为了定义模块,需要为java文件设定一个特别的名字,建议为: module-info.java
3、模块文件路径
module-info.java 应该放在哪里呢?按照惯例,应该把它放在和模块名相同的目录下。
如果你的模块名称是com.me.mymodule那么你的模块 module-info.java 应该放在: src/com.me.mymodule这使您的 module-info.java 文件放在: src/com.me.mymodule/module-info.java 路径。 得到它了? <module-path> == <module name>
4、编写一个模块
现在我们知道我们的模块 filename 和我们的模块 filepath,我们来编写一个具有这个命名和文件夹约定的模块:
tomerb@tomerb-mac.local:~/tmp/java9-modules$ mkdir -p src/com.me.mymodul tomerb@tomerb-mac.local:~/tmp/java9-modules$ vi src/com.me.mymodule/module-info.java12
module com.me.mymodule { }1
至此,我们就完成了一个模块的编写!
5、向我们的模块添加代码
在这一步中,我们将向我们的模块添加一些代码!在同一目录下创建一个新的java文件来作为我们的模块:
$ mkdir -p src/com.me.mymodule/com/me/mymodule $ vi src/com.me.mymodule/com/me/mymodule/Main.java12
注意我们代码中的目录名称。为什么这样做呢? 我们首先输入我们模块所在的路径,然后我们为源代码创建完整的包名称。在这种情况下, /com/me/mymodule 在 /com.me.mymodule 的上层。只是我们的 源文件 属于我们的模块,并且模块已经在Java 9惯例的标准模块目录中。
所以,我们就在Main.java编写hello world:
package com.me.mymodule;public class Main { public static void main(String[] args) { System.out.println("Hello World from Module! :)"); // nothing special here, standard java < 9 class. } }123456
6、编译我们的模块
首先制作 mods 目录(我们将进一步传递给: java –module-path ):
$ mkdir -p mods/com.me.mymodule$ javac -d mods/com.me.mymodule src/com.me.mymodule/module-info.java src/com.me.mymodule/com/me/mymodule/Main.java1234
轻动你高贵的手指,让编译器再跑一会儿!
7、运行我们的模块
$ java --module-path mods -m com.me.mymodule/com.me.mymodule.MainHello World from Module! :)12
总结
在这部分中,我们下载了Java 9,创建了一个模块,向其中添加了一个源文件,并运行它。我们看到在创建源代码时创建模块路径和类似的东西时,需要遵循一个命名约定。
1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加群。
2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加群。
3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加群。
4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的可以加群。
5. 群号:高级架构群 647631030备注好信息!
6.阿里Java高级架构师免费直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!