阿里巴巴|Java9新特性中的模块化到底是什么( 三 )


自定义最小运行时映像:
Java因为其向后兼容的原则 , 不会轻易对其内容进行删除 , 包含的陈旧过时的技术也越来越多 , 导致JDK变得越来越臃肿 。 而Java9的显示依赖管理使得加载最小所需模块成为了可能 , 我们可以选择只加载必须的JDK模块 , 抛弃如java.awt javax.swing java.applet等这些用不到的模块 。 这种机制 , 大大的减少了运行Java环境所需要的内存资源 , 在对于嵌入式系统开发或其他硬件资源受限的场景下的开发非常有用 。
孵化器模块的支持:
Java9中 , 引入了孵化器模块 , 使用了固定的前缀jdk. incubator 。 孵化器模块是一种提供实验API的机制 , 相当于是beta版 , 其中的内容在后续的版本中可能会被改动或删除 。 这个机制的存在 , 可以让开发者在明确的知道其不稳定性的同时 , 如果感兴趣的话 , 可以尝试提前接触和使用这些实验性的功能 , 使得这个新功能可以在真实环境中不断打磨完善 。
场景:如Java9中提供的jdk. incubator.httpclient模块 , 提供了一个全新的HttpClient API , 并且在Java11中孵化为正式模式 java.net.http , 提供了高性能的异步非阻塞调用支持 。
本文为个人学习整理 , 如有描述错误或者对相关内容感兴趣 , 欢迎评论或私信交流 , 一起讨论、共同进步 。