了解jdk8的新特性首先要了解jdk7的新特新都有哪些方面增强:
1.jdk语法上
1.1二进制变量的表示,支持将整数类型用二进制来表示,用Ob开头。
1.2Switch语句支持String类型
1.3Try-with-resource语句
注意:实现Java.lang.AutoCloseable接口的资源都可以放在try中,跟final里面的关闭资源类似;按照声明逆序关闭资源;try块抛出的异常通过Throwable.getSupressed获取
1.4Catch多个异常 说明:catch异常类型为final;生成Bytecode会比多个catch小;rethrow时保存异常类型
1.5数字类型的下划线表示 更友好的表示方式,不过要注意下划线添加的一些标准
1.6泛型实例的创建可以通过类型推断来简化 可以去掉后面new部分的泛型类型,只用<>就可以了
1.7在可变参数方法中传递非具体化参数,改进编译警告和错误
1.8信息更丰富的回溯追踪 就是上面try中try语句和里面的语句同时抛出异常时,异常栈的信息
2.NIO2的一些新特性
1.1Java.nio.file和java.nio.file.attribute包 支持更详细属性,比如权限,所有者
1.2symbolic and hard links 支持
1.3Path 访问文件系统,Files支持各种文件操作
1.4高效的访问metadata信息
1.5递归查找文件树,文件扩展搜索
1.6文件系统修改通知机制
1.7File类操作API兼容
1.8文件随机访问增强mapping a region ,locl a reg