Java10
前言
Github:https://github.com/HealerJean
升级点 | 说明 |
---|---|
局部变量类型推断 | Java 10 引入了 var 关键字,可以用于局部变量类型推断,使得代码更加简洁明了。 |
应用类数据共享 | Java 10 引入了应用类数据共享(Application Class Data Sharing),可以在 JVM 启动时将类元数据和字节码缓存到共享归档文件中,从而提高应用程序的启动速度 |
G1 垃圾收集器的并行 Full GC : |
Java 10 中的 G1 垃圾收集器支持并行 Ful l GC ,可以在 Full GC 时并行清理整个堆空间,从而提高垃圾收集的效率。 |
线程局部握手: | Java 10 引入了线程局部握手(Thread-Local Handshakes ),可以在线程之间进行握手,从而更好地控制线程的执行。 |
其他改进 | Java 10 还包括了一些其他改进,例如改进了时间和日期 API、改进了 HTTP 客户端、支持 Unicode 10.0、改进了 JV M 日志等。 |
一、var
局部变量类型推断
1、使用
1)静态代码块
/**
* 1、静态代码块中
*/
static {
var name= "张三";
System.out.println("Hello, " + name);
}
2)方法中
/**
* 2、方法中
*/
@Test
public void sayHello() {
var name = "李四";
System.out.println("Hello, " + name);
}
4) for
循环中
/**
* for循环中
*/
@Test
public void forTest(){
var names = List.of("HealerJean","张宇晋");
for(var name : names) {java
}
}
5)接受方法的返回值
不能作为方法的参数
/**
* 4、接收方法的返回值
*/
public String methodReturn(){
var str = "hello";
return str;
}
/**
1、不能作为方法的参数
public void doSomething(var param1, var param2) {
//错误用法
}
*/
2、使用 var
的准则
1)推荐
1、声明变量的类型比较冗长,使用 var
可以使代码更加简洁明了。
2、当变量的类型比较明显时,使用 var
可以简化代码,使其更加易于阅读。
3、、当需要在不同的地方使用相同的类型时,使用 var
可以避免在多个地方重复声明相同的类型。
需要注意的是,过度使用 var
可能会降低代码的可读性和可维护性,因此应该谨慎使用。
2)不推荐
1、变量初始化表达式的类型不明确或者不易于理解。在这种情况下,使用 var
可能会使代码更加晦涩难懂。
var result = obj.prcoess();
2、变量名不具有足够的描述性。在这种情况下,使用 var
可能会使代码更加难以理解和维护。
3、当需要在多个地方使用不同的类型时,使用 var
可能会使代码更加混乱和难以理解。
需要注意的是,过度使用 var
可能会降低代码的可读性和可维护性,因此应该谨慎使用。