标签分类
当前位置:首页 > 程序设计电子书 > Java9电子书网盘下载
Java9模块化开发核心原则与实践 Java9模块化开发核心原则与实践
萧曳丶

萧曳丶 提供上传

资源
16
粉丝
13
喜欢
10
评论
1

    Java9模块化开发核心原则与实践 PDF 完整清晰版

    Java9电子书
    • 发布时间:

    给大家带来的一篇关于Java9相关的电子书资源,介绍了关于Java9、模块化、开发、核心原则、实践方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小112.3 MB,桑德·马克编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:8.3,更多相关的学习资源可以参阅 程序设计电子书Java电子书、等栏目。

  • Java9模块化开发核心原则与实践 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1bko_3gPBRJxS84Qjw3qpQw
  • 分享码:tq65
  • Java9模块化开发核心原则与实践 PDF

    Java 9向Java服务平台导入了控制模块系统软件,它是1个十分关键的飞越,意味着模块化设计Java开发软件的新世界。当必须建立灵便且便于维护保养的编码时,模块化设计是1个重要的架构模式标准。这书得出了Java控制模块系统软件的确立简述,并演试了怎样根据建立模块化设计手机应用程序来协助管理方法及其减少多元性。

    创作者正确引导人们掌握了控制模块系统软件中的有关定义及其小工具,详细介绍了能够将目前编码转移到控制模块中的方式并且以控制模块的方法搭建新的手机应用程序。

    掌握Java服务平台本身怎样保持模块化设计

    学习培训模块化设计怎样危害手机应用程序的设计构思、编译、装包及其开发设计

    撰写自身的控制模块

    应用方式改善随意编码库的健壮性、协调能力及其器重性

    学习培训怎么使用服务项目来建立解耦控制模块

    将目前编码转移到控制模块,并学习培训怎么使用并非控制模块的目前库

    建立提升的自定运作时印象,进而更改装车模块化设计Java手机应用程序的方法

    Java9向Java服务平台导入了控制模块系统软件,它是1个十分关键的飞越,意味着模块化设计Java开发软件的新世界。当必须建立灵便且便于维护保养的编码时,模块化设计是1个重要的架构模式标准。这书得出了Java控制模块系统软件的确立简述,并演试了怎样根据建立模块化设计手机应用程序来协助管理方法及其减少多元性。创作者正确引导人们掌握了控制模块系统软件中的有关定义及其小工具,详细介绍了将目前编码转移到控制模块中的方式及其以控制模块方法搭建新手机应用程序的方式 。

    目录

    • 前言1
    • 第一部分 Java模块系统介绍
    • 第1章 模块化概述8
    • 1.1 什么是模块化9
    • 1.2 在Java 9之前10
    • 1.2.1 将JAR作为模块?11
    • 1.2.2 类路径地狱13
    • 1.3 Java 9模块14
    • 第2章 模块和模块化JDK18
    • 2.1 模块化JDK19
    • 2.2 模块描述符22
    • 2.3 可读性23
    • 2.4 可访问性24
    • 2.5 隐式可读性25
    • 2.6 限制导出29
    • 2.7 模块解析和模块路径29
    • 2.8 在不使用模块的情况下使用模块化JDK31
    • 第3章 使用模块33
    • 3.1 第一个模块33
    • 3.1.1 剖析模块33
    • 3.1.2 命名模块35
    • 3.1.3 编译36
    • 3.1.4 打包37
    • 3.1.5 运行模块37
    • 3.1.6 模块路径39
    • 3.1.7 链接模块40
    • 3.2 任何模块都不是一座孤岛41
    • 3.2.1 EasyText示例介绍41
    • 3.2.2 两个模块43
    • 3.3 使用平台模块46
    • 3.3.1 找到正确的平台模块46
    • 3.3.2 创建GUI模块47
    • 3.4 封装的限制51
    • 第4章 服务54
    • 4.1 工厂模式54
    • 4.2 用于实现隐藏的服务57
    • 4.2.1 提供服务57
    • 4.2.2 消费服务59
    • 4.2.3 服务生命周期61
    • 4.2.4 服务提供者方法62
    • 4.3 工厂模式回顾64
    • 4.4 默认服务实现65
    • 4.5 服务实现的选择66
    • 4.6 具有服务绑定的模块解析68
    • 4.7 服务和链接70
    • 第5章 模块化模式73
    • 5.1 确定模块边界74
    • 5.2 精益化模块76
    • 5.3 API模块76
    • 5.3.1 API模块中应该包含什么77
    • 5.3.2 隐式可读性78
    • 5.3.3 带有默认实现的API模块81
    • 5.4 聚合器模块82
    • 5.4.1 在模块上构建一个外观83
    • 5.4.2 安全拆分模块84
    • 5.5 避免循环依赖86
    • 5.5.1 拆分包86
    • 5.5.2 打破循环87
    • 5.6 可选的依赖关系90
    • 5.6.1 编译时依赖关系91
    • 5.6.2 使用服务实现可选依赖关系95
    • 5.7 版本化模块96
    • 5.8 资源封装99
    • 5.8.1 从模块加载资源100
    • 5.8.2 跨模块加载资源101
    • 5.8.3 使用ResourceBundle类102
    • 第6章 高级模块化模式104
    • 6.1 重温强封装性104
    • 6.1.1 深度反射105
    • 6.1.2 开放式模块和包106
    • 6.1.3 依赖注入109
    • 6.2 对模块的反射111
    • 6.2.1 内省112
    • 6.2.2 修改模块113
    • 6.2.3 注释114
    • 6.3 容器应用程序模式115
    • 6.3.1 层和配置116
    • 6.3.2 层中的类加载119
    • 6.3.3 插件体系结构122
    • 6.3.4 容器体系结构127
    • 6.3.5 解析容器中的平台模块132
    • 第二部分 迁移
    • 第7章 没有模块的迁移134
    • 7.1 类路径已经“死”了?135
    • 7.2 库、强封装和JDK 9类路径135
    • 7.3 编译和封装的API138
    • 7.4 删除的类型141
    • 7.5 使用JAXB和其他Java EE API142
    • 7.6 jdk.unsupported模块145
    • 7.7 其他更改146
    • 第8章 迁移到模块148
    • 8.1 迁移策略148
    • 8.2 一个简单示例149
    • 8.3 混合类路径和模块路径150
    • 8.4 自动模块152
    • 8.5 开放式包155
    • 8.6 开放式模块157
    • 8.7 破坏封装的VM参数158
    • 8.8 自动模块和类路径158
    • 8.9 使用jdeps161
    • 8.10 动态加载代码164
    • 8.11 拆分包166
    • 第9章 迁移案例研究:Spring和Hibernate167
    • 9.1 熟悉应用程序167
    • 9.2 使用Java 9在类路径上运行172
    • 9.3 设置模块173
    • 9.4 使用自动模块174
    • 9.5 Java平台依赖项和自动模块176
    • 9.6 开放用于反射的包176
    • 9.7 解决非法访问问题177
    • 9.8 重构到多个模块178
    • 第10章 库迁移180
    • 10.1 模块化之前181
    • 10.2 选择库模块名称181
    • 10.3 创建模块描述符184
    • 10.4 使用模块描述符更新库186
    • 10.5 针对较旧的Java版本187
    • 10.6 库模块依赖关系188
    • 10.6.1 内部依赖关系188
    • 10.6.2 外部依赖关系191
    • 10.7 针对多个Java版本192
    • 10.7.1 多版本JAR192
    • 10.7.2 模块化多版本JAR195
    • 第三部分 模块化开发工具
    • 第11章 构建工具和IDE198
    • 11.1 Apache Maven198
    • 11.1.1 多模块项目200
    • 11.1.2 使用Apache Maven创建EasyText示例200
    • 11.1.3 使用Apache Maven运行模块化的应用程序204
    • 11.2 Gradle205
    • 11.3 IDE205
    • 第12章 测试模块207
    • 12.1 黑盒测试208
    • 12.2 使用JUnit进行黑盒测试210
    • 12.3 白盒测试212
    • 12.4 测试工具216
    • 第13章 使用自定义运行时映像进行缩减217
    • 13.1 静态链接和动态链接218
    • 13.2 使用jlink219
    • 13.3 查找正确的服务提供者模块223
    • 13.4 链接期间的模块解析223
    • 13.5 基于类路径应用程序的jlink224
    • 13.6 压缩大小225
    • 13.7 提升性能227
    • 13.8 跨目标运行时映像228
    • 第14章 模块化的未来229
    • 14.1 OSGi230
    • 14.2 Java EE232
    • 14.3 微服务232
    • 14.4 下一步233

    上一篇:区块链实战  下一篇:区块链解密:构建基于信用的下一代互联网

    展开 +

    收起 -

    码小辫二维码
     ←点击下载即可登录

    Java9相关电子书
    学习笔记
    网友NO.128619

    分析javascript中9 个常见错误阻碍你进步

    分析javascript中9 个常见错误阻碍你进步 很多人尝试学习 JavaScript ,但是不久就放弃了。然后他们就告诉自己,“JavaScript 太复杂了”,更有甚者说,“我不是前端开发的料”。 这种情况挺让人悲伤的。其实根本不必放弃,所要做的仅仅是换一种不同的学习方法。 在这篇文章中,我们将介绍一些最常见的错误学习方法,并了解如何避免这些错误。许多技巧不仅适用于 JavaScript,甚至可以用到 web 开发上,所以也算是一种福利。 我们来吧! 错误 #1:开始学习之前过度分析 开始学习 JavaScript 之前,你可以找到很多相关的信息。如果你去看,就会发现一些 JavaScript 是最好的或者是最坏的、你是需要这个框架还那个框架的相关信息。你也可能会听到你需要以某种方式编写 JavaScript,否则你永远不会成为“真正”的开发人员等。 不管这些说的正确与否,没有什么比浪费六个月到一年还没有开始更糟糕。 开始敲代码吧,它不一定完美,可能很糟糕。但如果你开始了,就通过了阻碍很多人的障碍之一了。 错误 #2:学习原生 JavaScript 之前学习框架 JavaScript 框架建立在原生 JavaScript 之上,因此如果你理解了 JavaScript,你也就自然而然的知道如何使用任何 JavaScript 框架的基本原理。 然而,如果你直接学习一个框架,最后也只是记住了它的语……

    网友NO.837127

    9种Java单例模式详解(推荐)

    单例模式的特点 一个类只允许产生一个实例化对象。 单例类构造方法私有化,不允许外部创建对象。 单例类向外提供静态方法,调用方法返回内部创建的实例化对象。 懒汉式(线程不安全) 其主要表现在单例类在外部需要创建实例化对象时再进行实例化,进而达到Lazy Loading 的效果。 通过静态方法 getSingleton() 和private 权限构造方法为创建一个实例化对象提供唯一的途径。 不足:未考虑到多线程的情况下可能会存在多个访问者同时访问,发生构造出多个对象的问题,所以在多线程下不可用这种方法。 /** * @author MrRoot * @since 2018-12-17 * 懒汉式(线程不安全) */public class Singleton { private static Singleton singleton; private Singleton(){ } public static Singleton singleton(){ if (singleton == null){ singleton = new Singleton(); } return singleton; }} 懒汉式(线程安全,同步方法,不推荐使用) 针对懒汉式的线程不安全,自然会想到给 getSingleton() 进行 synchronized 加锁来保证线程同步。 不足:效率低。大多数情况下这个锁占用的额外资源都浪费了,每个线程在想获得类的实例时候,执行 getSingleton() 方法都要进行同步。 /** * @author MrRoot * @since 2019-3-27 * 懒汉式(线程安全,同步方法,不推荐使用) */public class Singleton { private static Singleton singleton; private Singleton(){ } public stati……

    网友NO.402398

    java9区分opens与exports

    序 本文主要研究下迁移到java9的一些注意事项。 迁移种类 代码不模块化,先迁移到jdk9上,好利用jdk9的api 代码同时也模块化迁移 几点注意事项 不可读类 比如sun.security.x509,在java9中归到java.base模块中,但是该模块没有export该package 可以通过运行的时候添加--add-exports java.base/sun.security.x509=ALL-UNNAMED来修改exports设定 内部类 比如sun.misc.Unsafe,原本只想让oracle jdk team来使用,不过由于这些类应用太广泛了,为了向后兼容,java9做了妥协,只是将这些类归到了jdk.unsupported模块,并没有限定其可读性。 ➜ ~ java -d jdk.unsupportedjdk.unsupported@9exports com.sun.nio.fileexports sun.miscexports sun.reflectrequires java.base mandatedopens sun.miscopens sun.reflect 删除的类 java9删除了sun.misc.BASE64Encoder,这种情况只能改用其他api,比如java.util.Base64 classpath vs module-path java9引入了模块系统,同时自身的jdk也模块化了,引入了module-path,来屏蔽classpath,也就是说在java9优先使用module-path,毕竟jdk本身都模块化了,应用本身没有模块化的话,java9通过unnamed modules及automatic modules机制来隐式模块化,当然classpath在java9上还能继续使用,比如配合module-path使用等。 没有模块化的jar在classpath会被归到unnamed modules;在module-path则会被自动创建为automatic modules(一个automatic modules会声明transitive依赖……

    网友NO.873080

    分享19个JavaScript 有用的简写写法

    原文链接,最近很火的一篇文章 This really is a must read for any JavaScript-based developer. I have written this article as a vital source of reference for learning shorthand JavaScript coding techniques that I have picked up over the years. To help you understand what is going on I have included the longhand versions to give some coding perspective. 这篇文章对于任何基于javascript开发人员是必须要看的文章了,我写这篇文章是学习多年来我所熟悉的JavaScript 简写方法,为帮助大家学习理解特整理了一些非简写的写法。 June 14th, 2017: This article was updated to add new shorthand tips based on ES6. If you want to learn more about the changes in ES6, sign up for SitePoint Premium and check out our screencast A Look into ES6 本文来源于多年的 JavaScript 编码技术经验,适合所有正在使用 JavaScript 编程的开发人员阅读。 本文的目的在于帮助大家更加熟练的运用 JavaScript 语言来进行开发工作。 文章将分成初级篇和高级篇两部分,分别进行介绍。 1.三元操作符 当想写 if...else 语句时,使用三元操作符来代替。 普通写法: const x = 20;let answer;if (x 10) { answer = 'is greater';} else { answer = 'is lesser';} 简写: const answer = x 10 ? 'is greater' : 'is lesser'; 也可以嵌套if语句: const big = x 10 ? " greater 10" : x 2.短路求值简写方式 当给一个变量分配另一个值时,想确定源始值不是 ……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明