前言

Github:https://github.com/HealerJean

博客:http://blog.healerjean.com

升级点 说明
局部变量类型推断 Java 10 引入了 var 关键字,可以用于局部变量类型推断,使得代码更加简洁明了。
应用类数据共享 Java 10 引入了应用类数据共享(Application Class Data Sharing),可以在 JVM 启动时将类元数据和字节码缓存到共享归档文件中,从而提高应用程序的启动速度
G1 垃圾收集器的并行 Full GC Java 10 中的 G1 垃圾收集器支持并行 Full GC,可以在 Full GC 时并行清理整个堆空间,从而提高垃圾收集的效率。
线程局部握手: Java 10 引入了线程局部握手(Thread-Local Handshakes),可以在线程之间进行握手,从而更好地控制线程的执行。
其他改进 Java 10 还包括了一些其他改进,例如改进了时间和日期 API、改进了 HTTP 客户端、支持 Unicode 10.0、改进了 JVM 日志等。

一、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 可能会降低代码的可读性和可维护性,因此应该谨慎使用。

ContactAuthor