文 by / 林本托 Tips 做一个终身学习的人. 在这个章节中,主要介绍以下内容: 如何编写模块化的Java程序 如何编译模块化程序 如何将模块的项目打包成模块化的JAR文件 如何运行模块化程序 在本章中,将介绍如何使用模块 -- 从编写源代码到编译,打包和运行程序. 本章分为两部分. 第一部分显示使用命令行编写和运行模块程序的所有步骤. 第二部分使用NetBeans IDE重复相同的步骤. 到目前,NetBeans IDE仍在开发中,并且不支持所有JDK 9功能. 例如,目前需要NetBe…
Tips 做一个终身学习的人. 当写这篇文章时,关于Java 9的学习就先告一段落了. 首先介绍一下背景,大概两个月前,我突然有兴趣想看看Java 9,当时读了一本英文原著<Java 9 Revealed: For Early Adoption and Migration>,对Java 9 的最新改变做了非常全面的介绍.大家也都知道Java 9 的发布一再跳票,但这并不影响我们学习新技术的兴趣. 目前此书,在亚马逊和京东上都有售,是英文原版的.有兴趣可以看看. 除了想了解一下Java 9的技术…
Tips 做一个终身学习的人. 当写这篇文章时,关于Java 9的学习就先告一段落了. 首先介绍一下背景,大概两个月前,我突然有兴趣想看看Java 9,当时读了一本英文原著<Java 9 Revealed: For Early Adoption and Migration>,对Java 9 的最新改变做了非常全面的介绍.大家也都知道Java 9 的发布一再跳票,但这并不影响我们学习新技术的兴趣. 目前此书,在亚马逊和京东上都有售,是英文原版的.有兴趣可以看看. 除了想了解一下Java 9的技术…
本系列教程的目的是帮助您了解如何开发区块链技术. 在本教程中,我们将: 创建你的第一个(非常)基本的“区块链”. 实施简单的工作证明(采矿)系统. 惊叹于可能性. (我假设您对面向对象编程有基本的了解) 需要注意的是,本教程并没有生产区块链的完整功能.相反,这是一个概念实现的证明,以帮助您理解区块链,为以后的教程打基础. 1,安装 教程中使用 Java,当然你可以使用其他的面向对象编程语言. 开发工具是 Eclipse,同样你可以使用其他的文本编辑器(虽然你可能会错过很多好用的功能 . 你需要:…
文 by / 林本托 在第一部分中,主要讲解如下内容: JDK 9 包含了哪些内容 运行代码的系统要求 如何安装 NetBeans 1 JDK 介绍 JDK 9是Java开发工具包的第九个主要版本,计划于2017年7月下旬发布.它带来了许多令人兴奋的新功能. 本套教程主要介绍Java开发人员在日常编程中有用的功能. 你可以在http://openjdk.java.net/projects/jdk9/上找到所有功能的完整列表. JDK 9最重要和最令人激动的功能之一是模块系统,该模块系统是以代码名…
文 by / 林本托 Tips 做一个终身学习的人. 在此章节中,主要介绍以下内容: 在JDK 9之前Java源代码用于编写,打包和部署的方式以及该方法的潜在问题 JDK 9中有哪些模块 如何声明模块及其依赖关系 如何封装模块 什么是模块路径 什么是可观察的模块 如何打印可观察模块的列表 如何打印模块的描述 本章旨在为你简要概述JDK 9中引入的模块系统.后续章节将详细介绍所有这些概念,并附有实例. 不要担心,如果你第一次不了解所有模块相关的概念. 一旦你获得开发模块代码的经验,你可以回来并重新…
文 by / 林本托 Tips 做一个终身学习的人. 在此章节中,主要学习以下内容: 如何声明模块依赖 模块的隐式可读性意味着什么以及如何声明它 限定导出(exports)与非限定导出之间的差异 声明模块的运行时可选依赖关系 如何打开整个模块或其选定的软件包进行深层反射 JDK 9中的访问类型 跨模块分割包 模块声明的约束 不同类型的模块:命名,未命名,显式,自动,普通和开放的模块 如何使用javap工具来解析模块的定义 一. 声明模块依赖 假设你现在已经有两个模块,分别是: com.jdojo…
Tips 做一个终身学习的人. 在本章,主要介绍以下内容: 新的JDK版本控制方案是什么 如何使用Runtime.Version类解析JDK版本字符串 JDK JRE 9的新目录布局是什么 JDK 9中的批注的标准覆盖机制如何工作的 在JDK 9中使用扩展机制的变化 JDK 9中的类加载器如何工作以及模块的加载方式 资源如何封装在JDK 9中的模块中 如何使用Module,Class和ClassLoader类中的资源查找方法访问模块中的资源 jrt URL方案是什么,以及如何使用它来访问运行时映…
Tips 做一个终身学习的人. 在此章节中,主要介绍以下内容: 什么是打破模块的封装 如何使用命令行选项将依赖项(添加需要)添加到模块 如何使用--add-exports命令行选项导出模块的未导出包,并使用可执行JAR的MANIFEST.MF文件 如何使用--add-opens命令行选项并使用可执行JAR的MANIFEST.MF文件打开模块的非开放包 如何使用--add-reads命令行选项增加模块的可读性 一. 什么是打破模块的封装 JDK 9的主要目标之一是将类型和资源封装在模块中,并仅导出…
Tips 做一个终身学习的人. 在本章节中,主要介绍以下内容: 什么是模块 API 如何在程序中表示模块和模块描述 如何读取程序中的模块描述 如何表示模块的版本 如何使用Module和ModuleDescriptor类读取模块的属性 如何使用Module类在运行时更新模块的定义 如何创建可用于模块的注解以及如何读取模块上使用的注解 什么是模块层和配置 如何创建自定义模块层并将模块加载到它们中 一. 什么是模块API 模块API由可以让你对模块进行编程访问的类和接口组成. 使用API,可以通过编程…