问题一:在 JDK 10 中,var 关键字是如何使用的?
在 JDK 10 中,var 关键字是如何使用的?
参考回答:
在 JDK 10 中,var 关键字可以用作局部变量类型推断标识符。它仅适用于局部变量,增强 for 循环的索引,以及传统 for 循环的本地变量。例如,你可以这样使用它:
var list = new ArrayList<String>();
list.add("hello, world!");
System.out.println(list);
注意,var 不能用于方法形式参数、构造函数形式参数、方法返回类型、字段、catch 形式参数或任何其他类型的变量声明。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/655173
问题二:var 关键字在编译后是如何表现的?
var 关键字在编译后是如何表现的?
参考回答:
当使用 var 关键字声明局部变量时,它实际上是一种语法糖。在编译后,编译器会推断出变量的实际类型,并将其替换为具体的类型。例如,上述代码在编译后会变成:
ArrayList<String> list = new ArrayList<String>();
list.add("hello, world!");
System.out.println(list);
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/655175
问题三:在 JDK 10 中,线程-局部管控是什么?
在 JDK 10 中,线程-局部管控是什么?
参考回答:
在 JDK 10 中,线程-局部管控是 JVM 内部的一个相当低级别的更改。它允许在不运行全局虚拟机安全点的情况下实现线程回调,从而使得停止单个线程变得可能和便宜,而不是只能启用或停止所有线程。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/655182
问题四:Graal 是什么,它在 JDK 10 中扮演什么角色?
Graal 是什么,它在 JDK 10 中扮演什么角色?
参考回答:
Graal 是一个以 Java 为主要编程语言,面向 Java bytecode 的编译器。与用 C++ 实现的 C1 及 C2 相比,它的模块化更加明显,也更加容易维护。在 JDK 10 中,Graal 作为试验性 JIT compiler 一同发布,既可以作为动态编译器,在运行时编译热点方法;亦可以作为静态编译器,实现 AOT 编译。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/655184
问题五:JDK 11 增加了哪些字符串处理方法?
JDK 11 增加了哪些字符串处理方法?
参考回答:
JDK 11 增加了一系列的字符串处理方法,包括:
isBlank() 方法用于判断字符串是否为空或仅包含空白字符。
strip() 方法用于去除字符串的首尾空格。
stripLeading() 方法用于去除字符串的首部空格。
stripTrailing() 方法用于去除字符串的尾部空格。
repeat(int count) 方法用于重复字符串指定的次数。
lines() 方法将字符串按照行终止符分割成一个流(Stream),并可以进一步操作,如 count() 方法计算行数。
例如:
System.out.println(" ".isBlank()); // 输出 true
System.out.println(" JDK11 ".strip()); // 输出 "JDK11"
System.out.println(" JDK11 ".stripLeading()); // 输出 "JDK11 "
System.out.println(" JDK11 ".stripTrailing()); // 输出 " JDK11"
System.out.println("JDK11 ".repeat(3)); // 输出 "JDK11 JDK11 JDK11 " System.out.println("A\nB\nC".lines().count()); // 输出 3
关于本问题的更多回答可点击原文查看: