Java 10 想说爱你不容易

没有跳票的Java10 如约而至,反而让人有点不习惯了,那这次的版本迭代能否给开发者带来惊喜呢?

Java 10 想说爱你不容易_第1张图片

局部变量类型推断

Java 7 引入了菱形操作符:
List list = new ArrayList<>();
这个类型推断使得我们可以省略部分重复操作,但是还需要很多看似重复的代码。为此,Java 10 引入了var 变量来减少冗余。
于是乎,你可以写这样的代码:

    var list = new ArrayList<>();
    list.add("Hello");

还可以这样写。不过怎么看都像JavaScript:

var i = 10;

甚至于,这样写。乍一看还以为眼花了,两个var

var var = 2;

如果你只是想从代码的角度来认识Java 10, 那么到这里,你就已经解了Java 10新特性的全部。但是作为一个有追求的程序员,还是可以了解一下其他的改进。

传说的109 项新特性

Simon Ritter 总结了Java 10的109 项新特性,可以在这里找到原文109 New Features In JDK 10
或者在这里查看译文 JDK 10 的 109 项新特性

基本涵盖了Java 10的全部新特性,可以对Java 10有一个整体上的感知。

真正需要的Java 10 ?

局部变量类型推断中的var不能成为一个关键字,而是一个保留字。而Java中的保留字如goto都是很少在代码中使用的。再者编译器目前还无法智能提示var定义的变量的方法。这么看来,唯一一个新特性也不是特别友好。

Java 10代码的优化对于性能的提升帮助有限(目前很多应用性能不佳,并不是Java底层不够快,相对来说数据库,网络延迟,前端渲染等更耗时)。

G1垃圾收集器早在JDK 7 时代已经提出,过渡到Java 8的Parallel GC,然后到Java 9 默认为Garbage-First(G1),再到Java 10的Parallel Full GC for G1,看起来不是新的概念,而是一种融合。

Java 10更像是一个被强行推上历史舞台的版本,很多特性是对Java 9 的一个改善和升级。

按照Oracle的说法,Java之后的版本的每半年更新一次,这次没有大的变化,那就期待下半年的Java 11 能有眼前一亮的特性吧。

你可能感兴趣的:(Java)