首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

JAVA9模块化详解(二)——模块的使用

JAVA9模块化详解(二)——模块的使用 二、模块的使用 各自的模块可以在模块工件中定义,要么就是在编译期或者运行期嵌入的环境中。...2.1 模块的路径 为了在确定在工件中定义的模块的位置,模块系统搜索模块的路径,它在主系统中定义。模块路径是一个序列,它的每一个元素要么是一个模块工件,要么是一个包含模块工件的目录。...嵌入到编译器或运行期环境的模块,连同模块路径下工件定义的模块被交付到全局的可被观察的模块。...2.3 可读性 在模块图中,当一个模块直接依赖另一个时,第一个模块中的代码可以访问第二个模块中的类型。因此,我们说第一个模块读取第二个模块,相等的,也可以说第二个模块对于第一个模块是可读的。...至此,JAVA9模块化详解(二)——模块的使用就先介绍到这里,这个系列还会继续,请大家多多支持,有不妥之处,还请大家多多交流。

48920

JAVA9模块化详解(二)——模块的使用

2.1 模块的路径 为了在确定在工件中定义的模块的位置,模块系统搜索模块的路径,它在主系统中定义。模块路径是一个序列,它的每一个元素要么是一个模块工件,要么是一个包含模块工件的目录。...嵌入到编译器或运行期环境的模块,连同模块路径下工件定义的模块被交付到全局的可被观察的模块。...这个传递闭包计算的结果是一个模块图,它包含了从第一个模块到第二个模块的矢量,依赖的每一个模块通过一些其他的模块解决。...2.3 可读性 在模块图中,当一个模块直接依赖另一个时,第一个模块中的代码可以访问第二个模块中的类型。因此,我们说第一个模块读取第二个模块,相等的,也可以说第二个模块对于第一个模块是可读的。...至此,JAVA9模块化详解(二)——模块的使用就先介绍到这里,这个系列还会继续,请大家多多支持,有不妥之处,还请大家多多交流。

34020

JAVA9模块化详解(一)——模块化的定义

前言 java9已经出来有一段时间了,今天向大家介绍一下java9的一个重要特性——模块化。...模块jar文件允许类库的维护者装载一个单一的零件,它可以作为一个模块工作(在java9以后)也可以作为一个普通的jar文件工作。...我们希望java9的实践者提升jar工具,使得它更容易的生成模块jar文件。...没有标准化的变量在模块系统中是没有效果的。 1.4 平台模块 java9将使用模块化系统将平台分割成若干个子模块java9平台的实现者可以包含其中的所有模块,也可以是其中的一些。...至此,java9模块化先定义到这里,翻译的不好,大家见谅,稍后会继续介绍java模块化的使用。

51420

JAVA9模块化详解(一)——模块化的定义

JAVA9模块化详解 前言 java9已经出来有一段时间了,今天向大家介绍一下java9的一个重要特性——模块化。...模块jar文件允许类库的维护者装载一个单一的零件,它可以作为一个模块工作(在java9以后)也可以作为一个普通的jar文件工作。...我们希望java9的实践者提升jar工具,使得它更容易的生成模块jar文件。   ...没有标准化的变量在模块系统中是没有效果的。 1.4 平台模块 java9将使用模块化系统将平台分割成若干个子模块java9平台的实现者可以包含其中的所有模块,也可以是其中的一些。   ...至此,java9模块化先定义到这里,翻译的不好,大家见谅,稍后会继续介绍java模块化的使用。

82810

JavaSE:Java9 新特性

Java9概述     Java发布于2017年9月发布,带来了很多新特性,其中最主要的变化是模块化系统     模块就是代码和数据的封装体,模块的代码被组织成多个包,每个包中包含java类和接口,模块的数据则包括资源文件和其他静态信息...模块化的使用       语法格式         在module-info.java文件中,我们可以用新的关键字module来声明一个模块。...具体如下:             module 模块名称 {             }       模块化的优势           减少内存的开销           可简化各种类库和大型应用的开发和维护...钻石操作符的使用升级     在Java9中,允许在匿名内部类的使用中,使用钻石操作符     代码 4.  ...集合工厂方法       基本概念           Java9的List, Set 和 Map集合中,增加了静态工厂方法of,实现不可变实例的创建           不可变体现在无法添加、删除和修改它们的元素

33820

原 荐 Java9之HttpClientAP

Java9之HttpClientAPI实战详解 前言 相信关注java9的小伙伴们都知道java9版本内置模块提供了Http功能,当然并不是说之前jdk之前并不支持,那么这次更新又多了什么呢?...如果想使用Java9的HttpClient服务,那么你必须熟悉(jdk.incubator.http)包中的以下三个类: HttpClient http客户端 该类是Java9开始引入的,官方文档的翻译说明是这样的...如果你是单个class,没有引入模块概念的话需要在 VM 参数中添加模块支持 --add-modules jdk.incubator.httpclient。...如果你引入了模块的概念,需要在 你的module.info中添加 requires jdk.incubator.httpclient;依赖。...相关文章 Java9之Shell入门 https://my.oschina.net/u/3048852/blog/1543044 Java9 Module解惑 https://my.oschina.net

1.2K20

java9 module相关选项解析

序 本文主要解析一下java9 module相关选项 module分类 unnamed module 在classpath的所有jar(不管是否模块化)共同组成一个unnamed module unnamed...illegal-access=permit,即允许unnamed modules反射(java.lang.reflect/java.lang.invoke)使用所有named modules中的类 这个选项主要是为了方便迁移到java9...而设计的,不过在java10可能会移除掉 named module 有module-info.java的模块,是java9正规的module 没有module-info.java的jar包,如果放在module-path...下,java9模块系统自动将其变成automatic module(其中如果jar包中MANIFEST.MF文件有Automatic-Module-Name属性,取其值作为模块名,没有的话,将jar包文件名根据一定规则提取模块名...,从根模块解析(在编译时期,而不是运行时)模块依赖,可以通过—add-modules mod1,mod2来将除JDK默认root modules外的模块添加到模块依赖解析中,可以通过扫描模块描述符把相关依赖的模块也同时解析了

1.4K10

原 荐 Java9 Module解惑

Java9模块系统特性 Java SE 9模块系统提供以下的便利性: 在Java SE 9中分离了JDK, JRE,jar等为更小的模。因此我们可以方便的使用任何我们想要的模块。...这些叫JDK Modules. * 什么是Java 9模块化? Java9中的模块是代码、数据和有些资源的自描述的集合。它是一套相关package、type(类、抽象类,接口等)与代码&数据和资源。...默认情况下,其他模块依赖于这个模块。 所以“java.base”模块是被成为Java9模块化系统之母。 它是所有JDK模块和用户定义的Modules的默认模块....对比的Java 8和Java9应用 使用Java 5,6,7或者8.,我们已经开发了许多Java应用程序。我们知道Java 8或更早的应用是什么样的,包含什么东西。...像Java 8应用一样,顶层组件是package,在Java9中则使用module作为顶层组件。 注: 每个Java 9模块有仅有的一个模块和一个模块描述符。

1.3K40
领券