Java 9 模块化(Modularity)】的更多相关文章

JDK9的发布一直在推迟,终于在2017年9月21日发布了.下面是JDK9的几个下载地址: JDK9.0.1 Windows-x64下载地址 Oracle Java 官网下载地址 OpenJDK 9官网 OpenJDK JDK9下载 从安装的JDK9文件夹下会发现没有jre文件夹了,并且多了一个jmods文件夹,想想为什么? 传统的jar文件是在运行时runtime使用,而 .jmods文件是在开发时development time使用. 这一次,Java9带来的模块化(Modularity)是…
需求背景 应用拆分的多或少都有问题.多则维护成本高,每次发布一堆应用.少则拆分成本高,无用功能很难下线.故障不隔离.当一个系统由多人同时参与开发时,修改A功能,可能会影响B功能,引发故障.多分支开发引发冲突.多分支开发完之后合并会产生冲突.牵一发动全身.一处核心代码的改动,或一个基础Jar的升级需要回归整个系统.升级和迁移成本高.中间件升级每个应用都有升级成本. 模块化开发的好处 可插拔,一个应用由多个模块组成,应用里的模块可拆和合,模块可快速在多个系统中迁移和部署.模块化开发,模块之间互相隔离…
前言 JDK9引入的Java模块化系统(Java Platform Module System ,JPMS)是 对Java技术的一次重要升级,除了像之前JAR包那样充当代码的容器之外,还包括: 依赖其他模块的列表. 导出的包列表,即其他模块可以使用的列表. 开放的包列表,即其他模块可反射访问模块的列表. 使用的服务列表. 提供服务的实现列表. 模块化系统 可配置的封装隔离机制解决了原来类路径上跨文件的public类的可访问性的问题.public类型不再意味着所有地方代码都可以访问它们,未导出和未…
底层代码可见性控制 Java提供了private,public,protected和package private(无修饰符)这四种访问控制级别,不过这仅仅提供了底层的OO数据封装特性.包这个概念确实是起到了分割代码的作用,但是如果包中的代码需要对包外可见,那么必须设置为public(或者protected,如果是使用了继承的话). 这样的话就可能出现一个问题: 首先大家看看下面的例子,其中有三个java文件:  org.serc.helloworld.Hello.java:定义了一个接口 pa…
经过近20年的发展,Java语言已成为今日世界上最成功.使用的开发者人数最多的语言之一,Java世界中无数商业的或开源的组织.技术和产品共同构成了一个无比庞大的生态系统. 与大多数开发人员的普遍认知不同,Java的生态系统和演进路线并不是由Sun Microsystems公司来决策和管理的.虽然Sun公司拥有“JavaTM”这个商标的所有权,并且拥有Java中使用最广泛的HotSpot虚拟机和Sun JDK,但它并不能直接制定Java世界中的规则.确定Java技术的发展走向. 1998年,在Su…
简介 Java可能是近20年来最成功的开发技术,因其具备通用性.高效性.平台移植性和安全性而成为不同硬件平台理想的开发工具.从笔记本电脑到数据中心,从游戏控制台到科学超级计算机,从手机到互联网,Java技术无处不在. Java能够让程序员使用同一种语言为服务器.智能卡.移动电话和嵌入式设备开发程序,极大地提升了软件的研发效率.不过,仅靠统一的语言还不足以让软件业迅速提升至成熟的工业化阶段.不同软件系统.不同硬件设备下的程序都经常会有相同的业务需求和设备间交互通信的需求,例如很多设备都需要互联网接…
本书主要模块化模式的优点.模块化方法与模式.OSGi简单使用等内容.分3大部分: 第一部分介绍了模块化概念.为什么要模块化,以及一些模块化要考虑的东西,如模块粒度,依赖关系,重用性灵活性等. 第二部分介绍模块化的一些模式.採用了GoF设计模式的格式(模式名称.模式表述.图示.描写叙述.多种实现.效果.例子.小结),看着有些乱,可是收获不少. 第三部分介绍OGSi结合Java怎样使用.以及怎样模块化现有系统.Java中无法直接模块化(Java SE模块化功能Jigsaw被推迟到了Jave SE 9…
来自 <http://www.jianshu.com/p/053a5ca89bbb#> 前言 年,我们将迎来 Java 语言的 22 岁生日,22岁,对于一个人而言,正是开始大展鸿图的年纪,可是对于日新月异的科技圈中的一门开发语言而言,却是一个傲视群雄的老态龙钟的年纪. JVM 语言发展史 年中茁壮发展,并且都秉承着 Java 的革命口号:一处编译,随处运行. 那么,JVM 的带头人 Java 在 9.0 的版本中带来了什么变化呢? 模块化 今天介绍一个Java 9的功能,模块化(Modula…
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多态 第七章 接口与多态 第八章 异常处理 第九章 Collection与Map 第十章 输入/输出 第十一章 线程与并行API 第十二章 Lambda 第十三章 时间与日期 第十四章 NIO与NIO2 第十五章 通用API 第十六章 整合数据库 第十七章 反射与类加载器 第十八章 自定义类型.枚举 补充:Ja…
实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计模式 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 2.完成实验.撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等).解决办法(空洞的方法如&qu…