前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle:Java9破坏了一些东西,开发者仍用Java8

Oracle:Java9破坏了一些东西,开发者仍用Java8

作者头像
曾高飞
发布2022-08-15 00:12:39
2580
发布2022-08-15 00:12:39
举报

  编译:唐尤华 ImportNew

  Java 有个问题:Java 语言和平台的开发速度比以往任何时候都要快,但许多开发人员仍旧坚持使用已经发布了五年的 Java 8。

  本周在伦敦举行的 QCon 会议上,Trisha Gee,一位 JetBrains 的开发者,在发表演讲前在 Twitter 上进行了调查。78%的人表示,他们正在使用 Java 8。考虑她的粉丝大多倾向于使用最前沿的技术,实际的比例可能会更高。

  译注:文章发布于2022年3月7日

  你正在使用哪个版本的 #Java ?

  — Trisha Gee (www.ershouyi.com) 2022-2-18

  这让人感到非常遗憾。Java 8 的后续版本中加入了许多功能强大的新特性:JLink 可以为 Docker image 创建更小的 Java 可执行文件,用 var 可以代替类型声明,JShell 为 Java 提供了交互式功能。此外还改进了 collection、optional 实现、改进了垃圾回收、引入了模块化机制等等。

  那么,为什么开发人员没有升级?一句话,Java 9 进行了重大变更,包括内部重组、新的模块化机制(Jigsaw 项目)并移除了一些很少使用的 API。这些改变破坏了代码,甚至那些愿意升级的开发者会顾虑依赖性问题。一位参会者说:“我们使用的开发库还没有支持最新 Java 版本”。

  “我想解释为什么升级是必要的”,来自 Oracle 的 Ron Pressler 说道。他是 Java 平台语言开发小组中的一员,也是 Loom 项目的负责人。

  “Java 有数十亿行代码,而 Java 9 确实破坏了一些东西。这是因为 Java 已经20多岁了,在接下来的20年里,它会继续大受欢迎。我们必须考虑20年后的情况。Java 9 之前的 JDK 结构是不可维护的。如果不做出这样的改变,就无法保持 Java 的竞争力。因此,改变是绝对必要的”。

  JClarity 的 CEO Martijn Verburg 表示,目前已经取得了一些进展:“在最受欢迎的1000个 Maven 库中,目前大约65%兼容了 Java 9+。6个月前,这一比例大约是42%,可能还需要一年时间才会完全兼容“。JClarity 是一家专注解决 Java 性能问题的公司。

  然而,开源项目和企业私有库的升级之路会很漫长。Java 8 现在仍然支持得很好,没有强烈的升级冲动。“未来将会出现两个世界”,一位与会者表示,“一个 Java 8 的世界,一个 Java 11+ 的世界”。

  在一个 QCon Java 座谈会上,Pressler 看起来有点沮丧:“在 Java 9+ 上无法运行代码没有特别的原因,可能只需要修改一些过时的 API 调用或者类似的工作。Java 9+ 并不是一门别的什么语言”。

  与此同时,他也承认目前每六个月给 Java 一个新版本号的做法的确给人造成了不好的印象。

  “我们做过的最让人感到困惑的事情之一,就是用整数版本编号给每六个月发布的新版本命名。从 Java 9 到 Java 10,你会认为这是 Java 一个新的主要发布版本,但事实并非如此。Java 10 并不是一个主要发布版本,而是一个小版本。最近的一个 Java 主要发布版本是 Java 9。在可预见的未来,不会再有这种情况发生了”。

  Oracle 修改了 Java 11 的授权策略——必须获得商业许可。除非你愿意跟上开源 OpenJDK 的步伐,这会不会也是一个问题?

  “Java 实际上变得更自由了”,Verburg 说道。原因在于 Oracle 已经正式支持 OpenJDK 并与 OpenJDK 提供者共享安全补丁。“但如果访问 Oracle 的网站下载 Java,你必须做出决定。是要商业版 Java、Oracle 的 OpenJDK,还是其他 OpenJDK?你不得不做出自己的选择。这就是市场中的困惑”。

  Oracle Java SE 产品经理 Donald Smith 对此表示赞同,但他补充道:“不幸的是,Register 杂志无法刊登题为‘现在 Java 比以往任何时候都更自由’的文章,人们是不会看的”。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档