菜鸟教程介绍:
Java 9 模块的重要特征是在其工件(artifact)的根目录中包含了一个描述模块的 module-info.class 文 件。 工件的格式可以是传统的 JAR 文件或是 Java 9 新增的 JMOD 文件。这个文件由根目录中的源代码文件 module-info.java 编译而来。该模块声明文件可以描述模块的不同特征。

模块化可以将项目模块中的各个包进行管理。原来如果要使用其他模块大代码,需要将项目导入,然后调用接口或类,这样做会导致可以调用导入项目的所有代码。
模块化可以控制对其他模块暴露那些东西

开始演示:

准备工作: java9以上的jdk版本,idea2021以后的版本。

  1. 、创建空白项目,项目中创建两个模块如图

    项目1中我有两个包,每个包中都有代码,
    项目2需要引用:在导入项目后就可以直接引用项目1中的全部内容。(引入项目看最后面的教程)
    项目1只想暴露com.yht下面的数据,不想别人访问com.yht2包。
    现在项目2是可以访问全部内容的,加上模块化以后就可控制访问权限。
  2. 添加模块
    新建模块,右键src目录创建模块文件 module-info.java(文件名固定)

    项目1内容编写暴露com.yht包

    项目2引入项目1模块

    这里模块已经添加完成
  3. 效果:这里yht2包已经无法使用了。

其他

导入项目

项目2导入依赖

选择项目1然后应用

感觉跟maven项目管理工具类似,暂时还不知道有什么作用,后面如果遇到在更新

jdk9模块化简单介绍相关推荐

  1. Webpack 的简单介绍

    本文介绍了一些 webpack 的核心概念以及一些概念术语,并对核心配置做了一些简单的用法讲解.建议刚刚接触 Webpack 的朋友可以先了解一下.想了解更多 Webpack 使用以及配置的话可以参考 ...

  2. 关于MVC/P 的简单介绍

    写在最前面的那些话 相信对于大多数小白来说,关于MVP.MVC设计模式肯定是听过也看到过很多次了,也许也有过一些简单了解,但关于TA的具体概念,如何使用以及具体应用等都毫无所知,所以本着许多小伙伴一看 ...

  3. Grub及内核的简单介绍安装

    Grub1.x的具体介绍 Grub识别的硬盘设备命名 所有硬盘都识别为hd,分区表示法(x,y),编号都从0开始 配置文件 /boot/grub/grub.conf或/etc/grub.conf,具体 ...

  4. Ansible简单介绍及安装部署详解

    ansible简单介绍 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置. ...

  5. JBoss 系列八十五: JBoss Modules 简单介绍

    概述 从JBoss AS7开始,Classloader这块开始使用全新的JBoss Modules.本文简单介绍说明JBoss Modules的设计思路,以及给出一个例子说明这一设计思路. JBoss ...

  6. openresty开发系列10--openresty的简单介绍及安装

    openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...

  7. 关于JQuery简单介绍

    jQuery是一个兼容多浏览器的javascript库,核心理念是写得更少,做得更多.如今,jQuery已经成为最流行的javascript库,在世界前10000个访问最多的网站中,有超过55%在使用 ...

  8. TensorFlow团队:TensorFlow Probability的简单介绍

    文章来源:ATYUN AI平台 在2018年TensorFlow开发者峰会上,我们(TensorFlow团队)宣布发布TensorFlow Probability:一种使机器学习研究人员及相关从业人员 ...

  9. 获取同花顺数据接口_简单介绍同花顺_数据获取方式(Excel VBA)

    简单介绍同花顺_数据获取方式(Excel VBA) 2018-09-12 简单介绍数据获取方式(Excel VBA) 数据是量化的根本和原材料,数据的准确性非常重要.获得数据的方式各种各样,最小的单位 ...

最新文章

  1. 如何解决VS2015编译C4996错误
  2. [转]python的requests发送/上传多个文件
  3. Fragment初识
  4. Math.random()获取随机数
  5. STL源码剖析 list概述
  6. 【Java】split()和java.util.StringTokenizer分割字符串的性能比较
  7. nuxt 全局css_解决nuxt 自定义全局方法,全局属性,全局变量的问题
  8. 二分查找在java中的实现
  9. 医疗健康APP的开发和设计
  10. 【无捆绑,可修改主页】系统之家 win7 32位64位极度纯净版系统(每月更新)
  11. 集群通信:从心跳说起
  12. 浅谈撰写软文标题时需要规避的误区
  13. ZBrush中的法线贴图你知道吗?
  14. 21岁女总裁董思阳,她做对了那些事情
  15. Android Framework学习的基础概论
  16. 进程双向通信c语言代码,进程间通信——管道(示例代码)
  17. 智能硬件行业产品经理
  18. 网站性能优化解决方案
  19. 【期末复习】2021-20222南邮网络安全技术复习题
  20. 数说 | 中国世界500强数量首超美国,但别高兴得太早

热门文章

  1. 一文搞懂ROS2的spin_some, spin和ROS的spinOnce
  2. php采集淘宝店的评论,php采集淘宝店铺的所有评论的实现
  3. 单极性归零NRZ码、双极性非归零NRZ码、2ASK、2FSK、2PSK、2DPSK及MATLAB仿真
  4. Opencv学习(3)——基础矩阵F、本质矩阵E、单应矩阵H 函数解析
  5. SSM框架搭建(maven)
  6. 错题日志(哈理工热身赛)
  7. 图解Pandas,又一个Pandas学习利器!
  8. C语言程序AT24C64
  9. SVN 如何解决冲突?
  10. Mysql迁移到GaussDb_GaussDB T 使用DUMP/LOAD导出导入迁移备份数据