您的位置 首页 java

Java 10推"局部变量的类型推断",网友怼"这在C#看来就不是事儿"

var vote_init_script = document.getElementById(“vote_init_node”);if(!vote_init_script){var _vote_init_script = document.createElement(“script”);_vote_init_script.id=”vote_init_node”;_vote_init_script.src=””;document.getElementsByTagName(“head”)[0].appendChild(_vote_init_script);}

相信对于Java 9的频繁跳票,很多人还心有余悸。虽然Java 10的推出时间,Oracle曾亲自背书不会跳票,但是这按时推出的风格还是让我们有些适应不良。

Java 10的发布虽然与Java 9相隔只有半年时间,但是更新的内容却很丰富,共计提供了109项新功能的支持。其中包括12项关键的新特性:局部变量的类型推断;将 JDK 的多个代码仓库合并到一个储存库中;垃圾收集器接口,通过引入一个干净的垃圾收集器(GC)接口,改善不同垃圾收集器的源码隔离性;向 G1 引入并行 Full GC;应用类数据共享,为改善启动和占用空间,在现有的类数据共享(“CDS”)功能上再次拓展,以允许应用类放置在共享存档中;线程局部管控,允许停止单个线程,而不是只能启用或停止所有线程;移除 Native-Header Generation Tool (javah);额外的 Unicode 语言标签扩展。包括:cu (货币类型)、fw (每周第一天为星期几)、 rg (区域覆盖)、tz (时区) 等;在备用内存设备上分配 堆内存 ,允许 HotSpot 虚拟机 在备用内存设备上分配 Java 对象堆;基于 Java 的 JIT 编译器(试验版本);根证书,开源 Java SE Root CA 程序中的根证书; 基于时间的版本发布模式,“Feature releases” 版本将包含新特性,“Update releases” 版本仅修复 Bug。

千呼万唤始出来的局部变量的类型推断

如果要说这次Java 10更新中有哪个功能是最受瞩目的?那么,一定非“局部变量的类型推断”莫属。在发布之前,Java 10发布方在网上共计进行了2轮,超2500名使用者的意见征集。最后结果显示,有74%的使用者强烈支持这个功能的发布,12%仅表示了支持,10%的人认为这个功能并不是个好主意。

“局部变量的类型推断”功能意味着未来开发者可以在 Java 10 中引入其他 编程语言 中常见的 var ,但需要注意,var不能成为一个关键字,而是一个保留字。开发者可以写这样的代码:var list=new ArrayList<String>(),编辑器可以自动推测出list的类型。

虽然这个功能在写代码的时候给我们带来了便利,但是也有网友针对该功能提出一些异议:

网友1:个人以为,var的引入,在读源码的角度上讲是灾难性的!尤其是对我这种大脑内部堆栈比较浅的人来说。

网友2:真的要这么搞?用var的确可以在写代码的时候提升一点效率,可是读代码呢??我以后是不是要养成从右往左读的习惯?

网友3:var的功能很鸡肋啊

当然也有网友称这个功能在其他语言那里早已得到了实现,并已被证实是优良的语言特性,Java使用者不必太过保守了,纠结会影响阅读代码。还有网友称,“我就不懂了 这些在C#里不是事的功能被java天天拿着吹”。

Java 10 有多少人在使用?Java 8 和Java 9 你舍得抛弃吗?

2017 年Oracle宣布,Java 语言将每隔 6 个月提供一次更新,而Java 10作为首个大版本对于开发者的吸引力如何?JAXenter对于众多的Java用户进行了调查,并收到了近300个反馈。

根据反馈结果显示,大部分开发者(82%)还在使用Java 8,8%的用户在使用Java 9,还有7%的用户在使用Java 7。当然,这也并不能说明Java 9不好,毕竟一个新事物的出现总要给使用者留出足够的时间。OpenJDK董事会主席兼Oracle Java平台小组开发副总裁Georges Saab 曾表示:Java 9的增长速度虽然不如Java 8,但是与其他版本并无差异。

“你是否会抛弃Java 8或Java 9,奔向Java 10呢?”对此,很多网友也给出了自己的意见。Markus Eisele称,我已经使用了一段时间测试版了,我希望大家也能够尽快上手,毕竟发现bug也是一件造福开发者和社区的事情。大多数程序员的想法是个人项目会考虑迁移到Java 10上,但是客户和企业项目在短时间内不会迁移到Java 10上。

文末小调查,你现在在用Java的哪个版本?

你现在在用Java的哪个版本? 多选
0
0%
Java 10
0
0%
Java 9
0
0%
Java 8
0
0%
Java 7
0
0%
Java 6
0
0%
Java 5
0
0%
其它

文章来源:智云一二三科技

文章标题:Java 10推"局部变量的类型推断",网友怼"这在C#看来就不是事儿"

文章地址:https://www.zhihuclub.com/192532.shtml

关于作者: 智云科技

热门文章

网站地图