Oracle:相信我,Java 仍然是免费的!
对于开发者来说,这一年的技术圈似乎尤为动荡。
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 等语言同样榜上有名。
对此,转转公司架构算法部负责人孙玄表示:
Java 语言虽然是老牌语言,依然非常有生命力。第一是因为它的持续更新升级优化,Java 9 在 2017 年已经推出;第二,它的生态很完善,项目需要的功能都能够找到对应的实现 Jar;第三,它的使用场景很广泛,从电商领域、到信息流分发流量,再到大数据、云计算、AI 领域,都可以如鱼得水地使用它。因此 Java 成为使用最多的语言也就不足为奇了。
人工智能是技术发展的下一个风口,必将改变目前行业发展的格局,拥抱人工智能,将拥有未来。Python 作为解释型的语言,它提供了大量的计算包,可以帮忙学习人工智能的同学很快上手,并且 Python 语法简单,表达的语义丰富,入门门槛相对较低。人工智能发展的火热,成为促进 Python 语言应用的催化剂。
其中的大佬“Java”最近因推出收费服务而备受业界争议,很多开发者质疑“Java 是不是不免费了?”、“是不是该放弃 Java 了?”......针对这些问题,在近日的甲骨文 CodeOne 大会上,Java 小组成员进行了详细解答。
甲骨文改革 Java,开始推付费服务
近日,甲骨文的 CodeOne 大会以全新的名称在业界露面了。正如甲骨文开发者社区团队主管 Stephen Chin 四月份时所说的那样,甲骨文正在努力创造一个“大事件”,用以包容更多的语言、技术和开发者社区。
去年的大会上宣布了 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 项目,它引入了一种称为光纤的线程的轻量级替代方案,对并发代码更为有效......
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
1.5准备CentOS和Nginx环境「深入浅出ASP.NET Core系列」
准备CentOS 1.1虚拟机 CentOS的安装这里使用vmware workstation 14来做虚拟机,当然你也可以用Oracle的虚拟机或者不用虚拟机,使用云服务或者使用双系统,不是什么大问题。 这里提供vmware workstation 14下载地址: http://www.xue51.com/soft/1258.html 如果觉得下载麻烦,也可以留言我这边提供下载和获取注册码。 1.2CentOS安装包 下载地址:https://www.centos.org/download/ 建议大家安装7.0及以上版本的Minimal ISO,因为有些东西我们不需要,同时高版本也是为了将来更好的支持Docker 1.3虚拟机安装CentOS 该步骤比较简单,就不做过多演示,如图所示: 进入安装界面: 安装完成: 注意:安装最小化版本,ping www.baidu.com是不通的,我们修改配置 vi ifcfg-ens33 修改ONBOOT=yes 然后重启网卡:service network restart 安装ifconfig工具 sudo yum install net-t...
- 下一篇
2.1命令行和JSON的配置「深入浅出ASP.NET Core系列」
希望给你3-5分钟的碎片化学习,可能是坐地铁、等公交,积少成多,水滴石穿,谢谢关注。 命令行配置 1.新建控制台项目 2.nuget引入microsoft.aspnetcore.all 这里要注意版本号必须和dotnetcore兼容 3.编码 3.1.引入Microsoft.Extensions.Configuration; 3.2.AddCommandLine() 添加到命令行 3.3.AddInMemoryCollection 添加到内存当中 3.4.代替string.format的新语法糖:$"age:{configuration["age"]}" 4.查看结果 直接运行 powershell下运行 JSON配置 2.1新建配置文件student.json 编写json配置内容 2.2引入json,AddJsonFile() 2.3确保json文件生成到bin目录下 右键进入文件属性 设置始终复制和生成操作为内容 2.4编码读取配置 我是.NET架构师张飞洪,入行10年有余,人不堪其忧,吾不改其乐,谢谢您关注我的头条号。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果