JDK 14 发布了

2020-03-18 09:59:44 +08:00
 ZSeptember

http://jdk.java.net/14/release-notes

Java 采取六个月发布一个版本以后,每次发布大家的关注少了很多了。。

不理解为什么要发布 preview 的 feature,这种 feature 大家敢用吗。

感觉需要一个 Babel,可以配置转换到特定版本,特定 Runtime 的 JDK,对,我说的就是 Kotlin。

10408 次点击
所在节点    Java
93 条回复
xFrye
2020-03-18 11:42:39 +08:00
下次一定,我还是用 8
specture
2020-03-18 11:51:26 +08:00
@keshawnvan 迁移的成本体现在哪些方面?
FrankD
2020-03-18 11:58:23 +08:00
java8 对企业来说还是免费的,后面就要收费了,除非用的不是 oracle 家
ZSeptember
2020-03-18 12:19:39 +08:00
现在来说,8 确实已经够用了,后面的更新都是不痛不痒的,大家都不怎么关注。
估计下个大发布,就是 Loom 了。
wangxiaoaer
2020-03-18 12:23:59 +08:00
@zichen 泛型支持了没?
ZSeptember
2020-03-18 12:24:48 +08:00
@zichen 我的关注点是 preview 的 feature,没有一个兼容的机制,preview 的后来被删了就尴尬了,我觉得大家是不敢用的。Go 也是 6 个月一个版本,但是会兼容的; Java 以前也是兼容著称的,现在改成这种发布,真没觉得好。
hantsy
2020-03-18 12:37:14 +08:00
@keshawnvan Java EE 部分主要是 JDBC,XML,Web Service 的为了写 Client 程序的一些 API,早就计划删除,这些只要重要加回依赖就好了。
hantsy
2020-03-18 12:39:26 +08:00
@rockyou12 Switch Expression 经过三个版本的迭代现在 Stable 了。
bk201
2020-03-18 12:41:19 +08:00
升级的需求是啥?拼命更新,老系统都吃不消吧
hantsy
2020-03-18 12:43:06 +08:00
实际从 8 后面,JVM 的变化非常大,GC 算法增删很大,这些不是做这些领域的工作,没怎么关心。
hantsy
2020-03-18 12:43:48 +08:00
@ZSeptember Kotlin 的语言特性也是采用这种机预览机制添加的。
GM
2020-03-18 12:44:24 +08:00
我就想问默认参数什么时候支持啊?复杂一点的类,本来一个构造函数就能搞定的事情,现在要要一二三四五,甚至六七八个构造函数,累不累啊?
sorra
2020-03-18 12:45:17 +08:00
@yiyi11 几乎每个大版本都有 breaking change,只不过可能大多数人用不到那个角落的功能
hantsy
2020-03-18 12:45:20 +08:00
@FrankD 只针对订阅用户收费。Oracle 对开源贡献很大,是值得尊敬的公司。
hantsy
2020-03-18 12:48:48 +08:00
@sorra 有些标准化, 比如 Base64 Encoder。

很少量的删除了,一般都是有替代品。一个主要我看到就是清理以前 com.sun 里面的 API,这里面有很多写工具,操作 Class 文件可能用到的 API。除非大势已去的,比如 Applet,直接 Cut 掉了。
hantsy
2020-03-18 12:56:40 +08:00
另外一个 Java 11 中 Stable 的特性是 HttpClient,我觉得算是一大特性,它基于新的 Java9 Flow API 和 8 的 Future API。

试用过,感觉有点点怪怪的。写什么客户的时候不需要再用第三方 Http Client,如 Apache,OKHttp 等。

处理一般的文件,InputStream,String 的数据都是可以的,JSON 可以借标准 JSONB,JSONP 等。
cgpiao
2020-03-18 12:57:19 +08:00
java14 出来后跟 kotlin 好像。
hantsy
2020-03-18 13:06:27 +08:00
Kotlin 现在 Spring 是全盘接受,Kotlin 确是一等公民,所有特性都是急于添加 Kotlin DSL 支持。Kotlin DSL 语法是好是坏,我个人没太多感觉。

虽然 Spring 以前也接受过 Groovy,Scala。Groovy 进入了 Spring 核心,坐了冷板凳。Scala 还未进入核心,直接放弃了。

Kotlin 感觉强大的两个东西,extensions, reified,很多 Spring 的 Kotlin API 简化支持都是在 Reified 语法上做文章。
sagaxu
2020-03-18 13:07:23 +08:00
移除了 CMS 垃圾收集器,ZGC 也支持 Mac 和 Win 了
lawrencexu
2020-03-18 13:21:20 +08:00
@yiyi11 之前 8 有个小版本引入了 keystore 相关的安全性增强,然后很多应用就挂了,需要 workaround 才能正常工作。7 升 8 的时候计算的 rounding 改过,8 升 11 的时候 locale 相关也改过。这只是我碰过的。

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

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

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

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

© 2021 V2EX