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

简介:   编译:唐尤华 ImportNew  Java 有个问题:Java 语言和平台的开发速度比以往任何时候都要快,但许多开发人员仍旧坚持使用已经发布了五年的 Java 8。  本周在伦敦举行的 QCon 会议上,Trisha Gee,一位 JetBrains 的开发者,在发表演讲前在 Twitter 上进行了调查。78%的人表示,他们正在使用 Java 8。考虑她的粉丝大多倾向于使用最前沿的技术,实际的比例可能会更高。
+关注继续查看

  编译:唐尤华 ImportNew

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

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

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

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

  — Trisha Gee (@trisha_gee) 2019-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 比以往任何时候都更自由’的文章,人们是不会看的”。

目录
相关文章
|
3天前
|
SQL Oracle 网络协议
小白也能学会的《Oracle数据库的安装与基本配置》
小白也能学会的《Oracle数据库的安装与基本配置》
20 1
|
3天前
|
运维 Oracle 关系型数据库
医院检验科LIS系统源码,oracle数据库、报告管理、质控管理
医院检验科LIS系统源码,oracle数据库、报告管理、质控管理
13 0
|
4天前
|
运维 Oracle 关系型数据库
LIS实验室信息管理系统功能模块(Oracle数据库、Client/Server架构)
LIS实验室信息管理系统功能模块(Oracle数据库、Client/Server架构)
23 0
|
4天前
|
Oracle 小程序 关系型数据库
laravel5.8(十四)连接oracle数据库
首先确定你的PHP已经支持oracle数据库的链接。PHP需要安装OCI8扩展。 确定PHP可以链接ORACLE数据库之后。我们使用composer安装laravel支持oracle链接的插件 yajra/laravel-oci8 欢迎访问个人博客 guanchao.site 欢迎访问我的小程序:打开微信->发现->小程序->搜索“时间里的” 一:使用composer安装 yajra/laravel-oci8 1 :运行如下命令: bash 复制代码 composer require yajra/laravel-oci8 2 :安装过程中可能会报错,不要纠结那些报错,最简单的解决办法:
19 0
|
4天前
|
Oracle 关系型数据库 MySQL
php7.2安装OCI8扩展支持oracle数据库
做项目的时候,远程的oracle数据库为我们提供一张中间表,我这边业务中的一些数据是需要到oracle数据库中的这张中间表去查询的。 PHP连接oracle数据库。需要用到OCI8的扩展。说来惭愧,工作这么多年,还没有正经的使用过oracle数据库。 mysql数据库的语法跟oracle数据库的语法是不一样的,别跟我似的上来就用mysql的语法来操作oracle数据库……有点丢人了…… 今天我们大概记录一下OCI8扩展的安装过程。
28 0
|
6月前
|
存储 JSON 运维
|
存储 SQL Oracle
【学习视频】第6期2019-Oracle迁移到PostgreSQL - 适合DBA与业务开发者
大家好,这里是《PG干O,仁心所象 - 去O实战培训》 公益活动纪录 - 《PG开发者指南、去O、管理与优化实践》
|
Web App开发 安全 Java
开发者论坛一周精粹(第十五期):Oracle发布多个Java漏洞更新-2017年7月
2017年7月18日,Oracle官方发布了2017年7月份的安全公告,安全公告中报告了多个漏洞,远程用户可以访问和修改目标系统上的数据,或可以在目标系统上获得提升的权限,或导致目标系统上的拒绝服务,涉及到的安全漏洞较多,安全风险较高。
2810 0
相关产品
云迁移中心
推荐文章
更多
推荐镜像
更多