Oracle:相信我,Java 仍然是免费的!

简介: 对于开发者来说,这一年的技术圈似乎尤为动荡。3 月,Facebook 被爆出臭名昭著的“剑桥数据泄露事件”;同月,Android 系统因侵权使用了 Java 接口,甲骨文公司获得了 Google 奉送上来的数十亿美元罚款;5 月,苹果三星纠缠了近 7 年的专利侵权案,最终以三星电子公司赔偿苹果 5.
img_b120ff8830a4ad3d9c850c4b0e23cfb1.jpe

对于开发者来说,这一年的技术圈似乎尤为动荡。

3 月,Facebook 被爆出臭名昭著的“剑桥数据泄露事件”;同月,Android 系统因侵权使用了 Java 接口,甲骨文公司获得了 Google 奉送上来的数十亿美元罚款;5 月,苹果三星纠缠了近 7 年的专利侵权案,最终以三星电子公司赔偿苹果 5.386 亿美元而作结;6 月,一贯“厌恶”开源的微软却豪掷 75 亿美元收购了全球最大的代码托管平台 GitHub;10 月,107 岁的IBM 以 340 亿美元收购了 Linux 巨头 Red Hat......

撇开科技巨头们间的暗流涌动,开发者们切身使用到的编程工具层面,同样上演着各式风云。

使用了 23 年的 Java 在今年 3 月和 9 月分别发布了 JDK 10 和 JDK 11 版本,却又在上月宣布新版 Oracle JDK 不再免费;

老牌语言 C/C++ 依然占据着 TIOBE 等各大编程榜单榜首,睥睨苍生;

Python 随着 AI 的火爆而换发出强大的生命力,但在 7 月份惨遭“抛弃”,其创始人声称拒绝再为其“劳心劳力”;

新生代语言 Kotlin 在正式成为 Android 官方开发语言后,受到了开发者的广泛推崇,并在 3 月份发布的 Stack Overflow 2018 最受欢迎编程语言榜单中雄踞第二;

4 月份,Google 开源 Swift for TensorFlow,受到了 Swift 编程语言开发者的热烈欢迎;

发布已十年的 Go 则一直是开发者的心头好,还在Stack Overflow 2018 年薪资计算器中被评为收入最高的开发语言;

......

技术更迭之下,开发者也只能紧跟趋势,不断更新技术储备。

近 7 成开发者在使用 Java 语言

无独有偶,在2017 年中国软件开发者大调查中,CSDN 通过对广大开发者的调查同样发现,这些编程语言们在开发者心中的排名不分伯仲:近 7 成开发者在使用 Java 语言,近 6 成开发者近期最想学 Python 语言;而 C/C++、Kotlin、Swift、Go 等语言同样榜上有名。

img_3e7688799ab9988c7375265658068c9b.jpe

对此,转转公司架构算法部负责人孙玄表示:

Java 语言虽然是老牌语言,依然非常有生命力。第一是因为它的持续更新升级优化,Java 9 在 2017 年已经推出;第二,它的生态很完善,项目需要的功能都能够找到对应的实现 Jar;第三,它的使用场景很广泛,从电商领域、到信息流分发流量,再到大数据、云计算、AI 领域,都可以如鱼得水地使用它。因此 Java 成为使用最多的语言也就不足为奇了。

人工智能是技术发展的下一个风口,必将改变目前行业发展的格局,拥抱人工智能,将拥有未来。Python 作为解释型的语言,它提供了大量的计算包,可以帮忙学习人工智能的同学很快上手,并且 Python 语法简单,表达的语义丰富,入门门槛相对较低。人工智能发展的火热,成为促进 Python 语言应用的催化剂。 

其中的大佬“Java”最近因推出收费服务而备受业界争议,很多开发者质疑“Java 是不是不免费了?”、“是不是该放弃 Java 了?”......针对这些问题,在近日的甲骨文 CodeOne 大会上,Java 小组成员进行了详细解答。

img_e2f52b9c0b4b5b1718b25c768bea08fd.png

甲骨文改革 Java,开始推付费服务

近日,甲骨文的 CodeOne 大会以全新的名称在业界露面了。正如甲骨文开发者社区团队主管 Stephen Chin 四月份时所说的那样,甲骨文正在努力创造一个“大事件”,用以包容更多的语言、技术和开发者社区。

img_3c06b07ae9d3574b5d3b0ce1f57685be.jpe

去年的大会上宣布了 Java 是甲骨文软件开发的首要任务:“我们希望下一个十年 Java 仍然能够保持第一。”此次会议上,甲骨文 Java 平台组的 Georges Saab 再次强调了 Java 在并行性、并发性、性能、类型系统和庞大生态系统方面占据的优势,这些特性使其非常适合构建数据基础架构。

Saab 随后重申了甲骨文对 Java 的承诺:“Java 在不断发展,其生态系统也随之发展。这产生了良性循环,社区规模的扩大带来了很多可能性,但也带来了很多挑战,例如不同用户需求的冲突。”

因此,为了与其他编程语言的快速发布周期保持一致,甲骨文公司努力按照常规的六个月节奏提供 Java 改进——很显然,这已经取得了一些成功,但这是以破坏某些东西为代价的。

甲骨文 Java 平台小组的首席架构师 Mark Reinhold 即表示:“我们正在以更快的速度发展 Java 平台。我们这样做是为了跟上竞争平台,以使 Java 更适合现代应用。”他还在演讲中展示了 Java 的模块化和现代化。此外,他向与会者保证,虽然 Java 的有些变化可能会让用户感到恐惧,但并不会像想象的那么可怕。

Reinhold 还强调,尽管甲骨文处理 Java 支持的方式发生了变化,但 Java 仍然是免费的。此外,他解答了业界关于新 Java “不再免费”的误解:

“为了建立一个公平的竞争环境,甲骨文开放了以前仅向付费客户提供的所有重要商业功能,包括应用程序类数据共享、飞行记录器、Java 任务控制和垃圾收集器(ZGC)。”“甲骨文构建和 OpenJDK 构建在功能上是可以互换的。这意味着你可以随意切换到另一个。这也意味着所有这些代码都可以在 GPL 下获得,任何人都可以构建、测试、发布、更新和支持。”

Reinhold 说:“Java 旨在帮助开发人员构建和维护大型可靠的程序,此外,其另一个重要目标是提升程序性能。”

目前,Java 团队正在深入研究几个旨在增强语言的项目,其中包括 Valhalla 项目,旨在提高 JVM 内存使用效率,从而降低成本;Panama 项目,旨在改进用于与 JVM 交互的 C API;Amber 项目,尝试通过添加 switch 表达式和原始字符串文字等功能,使 Java 更加简洁;Loom 项目,它引入了一种称为光纤的线程的轻量级替代方案,对并发代码更为有效......

相关文章
|
4月前
|
SQL Oracle 关系型数据库
java往oracle存clob类型的值时,字符长度过长怎么办?
java往oracle存clob类型的值时,字符长度过长怎么办?
68 1
|
6月前
|
Oracle Java 关系型数据库
JSP struts2工资管理系统myeclipse开发oracle数据库bs框架java编程网结构
JSP 工资管理系统是一套完善的struts2设计系统MVC结构,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Oracle10g,使用java语言开发,系统主要采用B/S模式开发。
47 1
|
6月前
|
Oracle Java 关系型数据库
JSP停车场车位管理系统myeclipse开发oracle数据库BS模式java编程网
JSP 停车场车位管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助servlet+bean+dao (mvc模式开发),系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Oracle 10g,使用java语言开发系统主要采用B/S模式开发。
38 0
|
7月前
|
Oracle 关系型数据库 Java
java处理oracle的Clob字段类型的坑和2种解决办法
java处理oracle的Clob字段类型的坑和2种解决办法
|
7月前
|
SQL Oracle 关系型数据库
java实现oracle和mysql的group by分组功能|同时具备max()/min()/sum()/case when 函数等功能
java实现oracle和mysql的group by分组功能|同时具备max()/min()/sum()/case when 函数等功能
|
11月前
|
SQL Oracle 关系型数据库
Java swing+MySQL/Oracle 实现的飞机票预定系统订票系统课程设计
Java swing+MySQL/Oracle 实现的飞机票预定系统订票系统课程设计
253 0
|
11月前
|
Oracle Java 关系型数据库
Java操作oracle数据库提示:不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK,问题处理
Java操作oracle数据库提示:不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK,问题处理
618 0
|
Oracle Java 关系型数据库
loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试
loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试
133 0
|
SQL Oracle Java
Java java jdbc thin远程连接并操作Oracle数据库
Java java jdbc thin远程连接并操作Oracle数据库
120 0
|
安全 Oracle Java
Oracle中国Java软件工程师代码编写规范2022最新公开版
Oracle中国Java软件工程师代码编写规范2022最新公开版