Java入坑之模块化

一、Java模块化概述 

1.1历史开发模式

JDK 8及以前开发模式

  • Java源代码以Java文件(类/接口/注解等)的形式编写
  • 每个Java文件被明确地放入到一个包中
  • Java文件编译后的class文件,可以压缩为jar包,供别的程序调用
  • 一个程序可以使用类库,类库通常以jar包呈现
  • 将所有程序jar包,类库jar包,都放在classpath上,来运行程序
  • -以Jar为中心

问题

  • jar文件无法控制别人访问其内部的public的类
  • 无法控制不同jar包中,相同的类名(包名+类名)
  • Java运行时,无法判定classpath路径上的jar中有多少个不同版本的文件。Java加载第一个符合名字的类
  • Java运行时,无法预判classpath路径上是否缺失了一些关键类

1.2模块化

Java模块化是Java 9引入的一种新的编程范式,它可以让我们将代码组织成更高层次的单元,提高代码的可重用性、可维护性和安全性。Java模块化的核心概念是模块(module),它是一组相关的包和资源,以及一个描述模块属性的文件(module-info.java)。模块可以声明它们所依赖的其他模块,以及它们所导出的包,从而实现对内部实现的封装和对外部接口的公开。模块还可以提供和使用服务,实现松耦合的设计。Java模块化系统还提供了一些工具和命令,让我们可以方便地创建、管理和运行模块化应用程序。 

Java入坑之模块化_第1张图片

模块化原则

  • -强封装性:一个模块必须能够对其他模块隐藏其部分代码。
  • -定义良好的接口:模块必须向其他模块公开定义良好且稳定的接口。
  • -显式依赖:明确一个模块需要哪些模块的支持才能完成工作。

 二、模块创建和运行 

你可能感兴趣的:(java,开发语言)