JAVAEE细细看 进阶 21 - 新特性:模块

模块化

一. 概述:

Java语言随着这些年的发展已经成为了一门影响深远的编程语言,无数平台,系统都采用Java语言编写。但是,伴随着发展,Java也越来越庞大,逐渐发展成为一门“臃肿” 的语言。而且,无论是运行一个大型的软件系统,还是运行一个小的程序,即使程序只需要使用Java的部分核心功能, JVM也要加载整个JRE环境。
为了给Java“瘦身”,让Java实现轻量化,Java 9正式的推出了模块化系统。Java被拆分为N多个模块,并允许Java程序可以根据需要选择加载程序必须的Java模块,这样就可以让Java以轻量化的方式来运行

其实,Java 7的时候已经提出了模块化的概念,但由于其过于复杂,Java 7,Java 8都一直未能真正推出,直到Java 9才真正成熟起来。对于Java语言来说,模块化系统是一次真正的自我革新,这种革新使得“古老而庞大”的Java语言重新焕发年轻的活力

在这里插入图片描述

二. 模块的基本使用重要步骤
  1. 创建2个模块。一个是myOne,一个是myTwo
    2.在模块的src目录下新建一个名为module-info.java的描述性文件
    3.在myOne这个模块下的描述性文件中配置模块导出
    模块导出格式:exports 包名;
    4.在myTwo这个模块下的描述性文件中配置模块依赖
    模块依赖格式:requires 模块名;
    注意:写模块名报错,需要按下Alt+Enter提示,然后选择模块依赖
    5.在myTwo这个模块的类中使用依赖模块下的内容
三. 模块服务使用的重要步骤

1.在myOne模块中定义一个接口,提供一个抽象方法
2.在myOne模块中定义两个接口实现类,并重写抽象方法
3.在myOne模块中的module-info.java中添加服务接口和实现类
provides 接口名 with 实现类名;
4.在myTwo模块中的module-info.java中添加使用服务
uses 接口名;
5.在myTwo测试类中,使用服务
//加载服务
ServiceLoader<接口名> myServices = ServiceLoader.load(接口名.class);
//遍历服务
for(MyService my : myServices) {
//调用接口中的方法
my.service();
}

四. 总结

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值