Java基础

Java简介
Java 简介
Java 开发环境配置
Java 注释
我的第一个Java程序
Java基础语法
Java 基础语法
Java 基本数据类型
Java 变量类型
Java 权限修饰符与非权限修饰符
Java 运算符
Java 循环结构
Java 条件语句
Java switch case 语句
Java String类
Java 数组
Java 方法
Java面向对象
Java 对象和类
Java 继承
Java重写与重载
Java 多态
Java 抽象类
Java 封装
Java 接口
Java 包(package)
java this和super的使用
Java面向对象进阶
Java 泛型
Java容器
Java Enumeration接口
Java Bitset类
Java Vector 类
Java Stack 类
Java Dictionary 类
Java Hashtable 类
Java 数据结构
Java 集合框架
Java异常
Java 异常处理
Java IO
Java Properties 类
Java字节数组输出流类
Java数据输入流类
Java字节数组输出流
Java数据输入流类
Java File类
Java FileReader类
Java FileWriter类
Java 流(Stream)、文件(File)和IO
Java Scanner 类
Java并发
Java 多线程编程
Java高级技术
Java8 最新技术
Java 8 Lambda 表达式
Java 8 方法引用
Java 8 函数式接口
Java 8 默认方法
Java 8 Stream
Java 8 Optional 类
Java 8 Nashorn JavaScript
Java 8 日期时间 API
Java8 Base64
Java 8 新特性
Java9 最新技术
Java 9 新特性
Java 9 模块系统
Java 9 REPL (JShell)
Java 9 改进 Javadoc
Java 9 多版本兼容 jar 包
Java 9 集合工厂方法
Java 9 私有接口方法
Java 9 改进的进程 API
Java 9 改进的 Stream API
Java 9 改进的 try-with-resources
Java 9 改进的 @Deprecated 注解
Java 9 钻石操作符(Diamond Operator)
Java 9 改进的 Optional 类
Java 9 多分辨率图像 API
Java 9 改进的 CompletableFuture API
Java常用类
Java Number, Math 类
Java Character 类
Java StringBuffer 和 StringBuilder 类
Java 日期时间
Java 正则表达式
Java 序列化

Java 9 新特性

Java 9 新特性

Java 9 发布于 2017 年 9 月 22 日,带来了很多新特性,其中最主要的变化是已经实现的模块化系统。接下来我们会详细介绍 Java 9 的新特性。

Java 9 新特性

  • 模块系统:模块是一个包的容器,Java 9 最大的变化之一是引入了模块系统(Jigsaw 项目)。
  • REPL (JShell):交互式编程环境。
  • HTTP 2 客户端:HTTP/2标准是HTTP协议的最新版本,新的 HTTPClient API 支持 WebSocket 和 HTTP2 流以及服务器推送特性。
  • 改进的 Javadoc:Javadoc 现在支持在 API 文档中的进行搜索。另外,Javadoc 的输出现在符合兼容 HTML5 标准。
  • 多版本兼容 JAR 包:多版本兼容 JAR 功能能让你创建仅在特定版本的 Java 环境中运行库程序时选择使用的 class 版本。
  • 集合工厂方法:List,Set 和 Map 接口中,新的静态工厂方法可以创建这些集合的不可变实例。
  • 私有接口方法:在接口中使用private私有方法。我们可以使用 private 访问修饰符在接口中编写私有方法。
  • 进程 API: 改进的 API 来控制和管理操作系统进程。引进 java.lang.ProcessHandle 及其嵌套接口 Info 来让开发者逃离时常因为要获取一个本地进程的 PID 而不得不使用本地代码的窘境。
  • 改进的 Stream API:改进的 Stream API 添加了一些便利的方法,使流处理更容易,并使用收集器编写复杂的查询。
  • 改进 try-with-resources:如果你已经有一个资源是 final 或等效于 final 变量,您可以在 try-with-resources 语句中使用该变量,而无需在 try-with-resources 语句中声明一个新变量。
  • 改进的弃用注解 @Deprecated:注解 @Deprecated 可以标记 Java API 状态,可以表示被标记的 API 将会被移除,或者已经破坏。
  • 改进钻石操作符(Diamond Operator) :匿名类可以使用钻石操作符(Diamond Operator)。
  • 改进 Optional 类:java.util.Optional 添加了很多新的有用方法,Optional 可以直接转为 stream。
  • 多分辨率图像 API:定义多分辨率图像API,开发者可以很容易的操作和展示不同分辨率的图像了。
  • 改进的 CompletableFuture API : CompletableFuture 类的异步机制可以在 ProcessHandle.onExit 方法退出时执行操作。
  • 轻量级的 JSON API:内置了一个轻量级的JSON API
  • 响应式流(Reactive Streams) API: Java 9中引入了新的响应式流 API 来支持 Java 9 中的响应式编程。

更多的新特性可以参阅官网:What's New in JDK 9

JDK 9 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk9-doc-downloads-3850606.html

在关于 Java 9 文章的实例,我们均使用 jdk 1.9 环境,你可以使用以下命令查看当前 jdk 的版本:

$ java -version
java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+163)
Java HotSpot(TM) 64-Bit Server VM (build 9-ea+163, mixed mode)

接下来我们将详细为大家简介 Java 9 的新特性:

序号 特性
1 模块系统
2 REPL (JShell)
3 改进的 Javadoc
4 多版本兼容 JAR 包
5 集合工厂方法
6 私有接口方法
7 进程 API
8 Stream API
9 try-with-resources
10 @Deprecated
11 内部类的钻石操作符(Diamond Operator)
12 Optional 类
13 多分辨率图像 API
14 CompletableFuture API