java8 以后常用的新特性有哪些?

2023-11-01 21:58:44 +08:00
 overthemoon

现在就用到 lambda 函数,还有其它语法吗

1909 次点击
所在节点    Java
12 条回复
wxyrrcj
2023-11-02 08:38:24 +08:00
stream
lei2j
2023-11-02 08:40:42 +08:00
Stream,Optional
yazinnnn0
2023-11-02 09:02:39 +08:00
密封接口/密封类
增强 switch 表达式
record
record 的各种模式匹配场景下的解构
lambda 参数名省略类型
字符文本块
zgc/分代 zgc
loom
结构化并发
scoped value
新 ffi
vector api

你要说哪个常用, record 及模式匹配, loom 和结构化并发应该会常用
mmdsun
2023-11-02 09:58:00 +08:00
其实 lambda + 函数式编程,就有很多东西可以挖掘了。

比如 lambda 实现其他语言的 closure 闭包函数。甚至模拟 generator 也行。
```
public static void main(String[] args) {
var count = closure();
System.out.println(count.get()); // output:1
System.out.println(count.get()); //output:2
}

public static Supplier<Integer> closure() {
final int[] count = {0};
return () -> {
count[0]++;
return count[0];
};
}
```
hello158
2023-11-02 11:11:22 +08:00
特性不重要,如果你能找到一个又价值的项目,能让你挣钱,用 Java5 + jsp 写也没问题。
blacktail
2023-11-02 11:32:13 +08:00
var
Bromine0x23
2023-11-02 11:42:58 +08:00
var
jorneyr
2023-11-02 14:24:51 +08:00
https://openjdk.org/projects/jdk/21/

修改版本 21 ,逐个查看。
dif
2023-11-02 16:40:19 +08:00
var
stream
List.of
CompletableFuture
lambda (写时一时爽,维护火葬场,尤其是后面跟了一串)
差不多就这些吧,目前只用到 Java11,没太多变化。
compiler
2023-11-02 17:32:56 +08:00
Kotlin
hdiwhsg
2023-11-02 18:59:08 +08:00
java8 旧特性。。。
leee41
305 天前
语法糖上,字符块
性能上,zgc 和 loom
实际解决问题常用:结构化并发和 scoped value

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/987651

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX