JavaSE:Java9 新特性
1. Java9概述
Java发布于2017年9月发布,带来了很多新特性,其中最主要的变化是模块化系统
模块就是代码和数据的封装体,模块的代码被组织成多个包,每个包中包含java类和接口,模块的数据则包括资源文件和其他静态信息
2. 模块化的使用
<1> 语法格式
在module-info.java文件中,我们可以用新的关键字module来声明一个模块。具体如下:
module 模块名称 {
}
<2> 模块化的优势
减少内存的开销
可简化各种类库和大型应用的开发和维护
安全性,可维护性,提高性能
<3> 使用
故进行如下的操作
3. 钻石操作符<>的使用升级
在Java9中,允许在匿名内部类的使用中,使用钻石操作符<>
代码
4. 集合工厂方法
<1> 基本概念
Java9的List, Set 和 Map集合中,增加了静态工厂方法of,实现不可变实例的创建
不可变体现在无法添加、删除和修改它们的元素
不允许添加null元素对象
<2> 实际意义
保证线程安全:在并发程序中,既保证线程安全性,也大大增加了并发时的效率
被不可信的类库使用时会很安全
如果一个对象不需要支持修改操作,将会节省时间和空间的开销
可以当作一个常量来对待,并且这个对象在以后也不会被改变
<3> 代码
5. InputStream的增强
<1> InputStream类中,提供了transferTo() 方法,实现将数据直接传输到OutputStream中
<2> transferTo() 的内部