前言

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