内容出自《java程序员修炼之道》,这里只是做个总结和备忘。
1、语法糖:
数字中的下划线:比如 int a=100_000_000; 能让比较大的数字看起来更清晰
二进制文本:
java7可以直接使用二进制数字,比如用二进制表示十进制的102,java7之前需要这样写:
int x = Integer.parseInt("1100110",2);
现在可以写成:
int x = 0b110010;
switch 支持String 类型:
java7之前,case语句中的常量只能是byte、char、short和int 或者枚举常量。Java 7 增加了String,这个小小的改动非常有用,方便程序员更容易的使用switch语句。
public void printDay(String num){
switch(num){
case "one": System.out.println("first");break;
case "two": System.out.println("second");break;
default: System.out.println("have fun");
}
}
2、新的语言小特性
异常处理:
multicatch 和 final 重抛
try-witch-resources(TWR)
3、钻石语法(类型推断)
NIO2.0:
NIO2.0是一组新的类和方法,主要存在于java.nio包内,优点:
完全取代了java.io.File与文件系统的交互。
提供了新的异步处理类,让你无需手动配置线程池和其他底层并发控制,便可在后台线程中执行文件盒网络I/O操作
引入了新的Network-Channel构造方法,简化了套接字(Socket)与通道的编码工作
支持目录树的直接导航(Files.walkFileTree())、符号链接(Files.isSymbolicLink())能用一行代码读取文件的属性(Files.readAttributes())
可以使用新的AsynchronousFileChannel,不用指定工作线程或者队列就可以在后台读取大型文件。
新的API其实顺应了两个发展趋势:
1、对其他数据存储方法的探索,特别是非关系型或大数据集
2、对于多核并发趋势,它为多线程文件盒套接字访问的应用提供了一个简单的抽象层
未完待续……