Tips 做一个终身学习的人. 在最后一章内容中,主要介绍以下内容: 下划线作为新关键字 改进使用try-with-resources块的语法 如何在匿名类中使用<>操作符 如何在接口中使用私有方法 如何在私有方法上使用@SafeVarargs注解 如何丢弃子进程的输出 如何在Math和StrictMath类中使用新的方法 如何使用Optionals流以及Optionals上的新的操作 如何使用等待提示(spin-wait hints) 对Time API和Matcher和Objects类的增…
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的技术…
文 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 做一个终身学习的人. 在本章中,主要介绍以下内容: Process API是什么 如何创建本地进程 如何获取新进程的信息 如何获取当前进程的信息 如何获取所有系统进程的信息 如何设置创建,查询和管理本地进程的权限 一. Process API是什么 Process API 由接口和类组成,用来与本地进程一起工作,使用API,可以做以下事情: 从Java代码中创建新的本地进程 获取本地进程的进程句柄,无论它们是由Java代码还是通过其他方式创建 销毁运行进程 查询活动的进程及其属性 获取…
Tips 做一个终身学习的人. 在此章中,主要介绍以下内容: 什么是HTTP/2 Client API 如何创建HTTP客户端 如何使HTTP请求 如何接收HTTP响应 如何创建WebSocket的endpoints 如何将未经请求的数据从服务器推送到客户端 JDK 9将HTTP/2 Client API作为名为jdk.incubator.httpclient的孵化器模块. 该模块导出包含所有公共API的jdk.incubator.http包. 孵化器模块不是Java SE的一部分. 在Java…
从JDK 6开始,Java就已经捆绑了JavaScript引擎,该引擎基于Mozilla的Rhino.该特性允许开发人员将JavaScript代码嵌入到Java中,甚至从嵌入的JavaScript中调用Java.此外,它还提供了使用jrunscript从命令行运行JavaScript的能力.如果不需要非常好的性能,并且可以接受ECMAScript 3有限的功能集的话,那它相当不错了. 从JDK 8开始,Nashorn取代Rhino成为Java的嵌入式JavaScript引擎.Nashorn完全支…
Tips 做一个终身学习的人. 在本章节中,主要介绍以下内容: 什么是模块 API 如何在程序中表示模块和模块描述 如何读取程序中的模块描述 如何表示模块的版本 如何使用Module和ModuleDescriptor类读取模块的属性 如何使用Module类在运行时更新模块的定义 如何创建可用于模块的注解以及如何读取模块上使用的注解 什么是模块层和配置 如何创建自定义模块层并将模块加载到它们中 一. 什么是模块API 模块API由可以让你对模块进行编程访问的类和接口组成. 使用API,可以通过编程…