0
点赞
收藏
分享

微信扫一扫

java9-模块化介绍


java9的模块化类似于nodejs,如果大家学过,可能更好理解模块化的概念。Oracle为什么要给java加入模块化,主要有以下几个问题:

  • 整个jre环境太大了,运行一个hello world也需要整个几百兆的jre环境
  • public是对任何东西都开放的,也可以访问内部的api,并且可以通过反射获取任何信息
  • 可以细粒度的控制依赖关系,比jar更好的依赖管理

jdk的目录也变了,现在是这样的

java9-模块化介绍_java

模块可以理解为是代码和数据的封装体,有一个配置的文件​​module-info.java​​,在里面声明需要引入哪些模块,此模块需要对外提供什么。我们看一下java.compiler的module-info

java9-模块化介绍_模块化介绍_02


exports就是把自己这个模块的下面的类给公开,其他引入这个模块的在module中用​​requires​​ 就能引入,然后就可以用这个包下的类了。如果某个包没有被exports,就算是通过反射,也获取不到里面的类,public的可访问性收到了模块的限制。实时内容请关注微信公众号,公众号与博客同时更新:程序员星星

java9-模块化介绍_模块化_03


举报

相关推荐

0 条评论