Java模块化(JPMS):模块化为何而生?Java模块化的历史与使命(1)

模块化为何而生?Java模块化的历史与使命


文章目录

  • 模块化为何而生?Java模块化的历史与使命
    • 一、从“快递分拣”到“乐高积木”:模块化的前世今生
    • 二、模块化不是“新发明”:那些年的替代方案
    • 三、模块化的三大使命:封装、依赖、可靠配置
    • 四、模块化的意义:不止于技术
    • 五、总结:模块化是Java的“成人礼”


一、从“快递分拣”到“乐高积木”:模块化的前世今生

想象一下,你网购了10件商品,快递员却把所有东西胡乱塞进一个箱子。当你拆箱时,发现书本泡在水杯里,衣服沾满咖啡粉——这就是Java曾经的“JAR Hell”(JAR地狱)。

在Java 9之前,所有代码像一锅乱炖的火锅,被丢进一个叫**类路径(Class Path)**的大杂烩里。无论你写的是一个工具类,还是整个系统,最终都打包成JAR文件。运行时,JVM像盲人摸象一样,从类路径中盲目加载所有类。问题来了

  1. 依赖冲突:比如你的项目用了LibA v1.0,而另一个库偷偷依赖LibA v2.0,最终系统可能随机崩溃;
  2. 安全隐患:任何人都能通过反射强行调用你本应私有的API;
  3. 臃肿肥胖:即使你只用一个功能,也不得不带上整个库的“全家桶”。

于是,Java社区开始寻找解决方案——就像把混乱的快递分拣成一个个标记清晰的格子,这就是**模块化(JPMS)**的初心。


二、模块化不是“新发明”:那些年的替代方案

在Java模块化诞生前,开发者们用“土法炼钢”解决问题。比如:

  • OSGi&#x

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