由James Gosling(Java之父)开发的Java已走过30个年头,它逐渐发展成开发者最常用的编程语言之一。尽管“
Java已
死
”的论调常常出现在媒体头条,但它在各大语言排行榜上也始终处于前列。Java还曾夺得2005年以及2015年的TIOBE年度编程语言。近日权威软件开发杂志 SD Times发布的一篇Java 2021的文章,描述了Java 在这一年来的变化与发展趋势。
Java的发展进程
Java的首个版本于1995年面世,发展至今,Java已迭代更新了17个版本,目前最新版本是今年9月份发布的Java 17。在正式进入正文之前,先简单回顾一下Java的成长过程。
Java的发展进程要从1991年的Oak橡树开始,并在1995年更名为Java,发布Java 1.0版本。在1998,Sun将Java体系分为我们现在使用的三种:标准版(J2SE)、企业版(J2EE)和微型版(J2ME),随后在2005年,这三种版本又分别被更名为Java EE(现为Jakarta EE)、Java SE和J2ME。在2006年,Sun正式宣布Java开源,其实在Java代码发布之初,其源码便是可访问的。在Java 6发布之后,由于代码复杂性增加,JDK开源,经济危机等问题Sun在2007至2008两年间没有新版本发布。
2009年Oracle以每股9.5美元的价格将Java的开发公司Sun收购,至此Java易主。Oracle在2011年开始每隔三年发布一次Java版本。2014年发布的第一个LTS版本Java 8,更让许多开发者使用至今。2018年Orcale宣布每三年发布一次新版本更改为普通版本每隔半年发布一次,LTS版本已然还是每隔三年发布。
Java 8 被开发者弃用?
面对如此频繁的版本更新,开发者更偏爱哪个版本呢?由Snyk进行的一项
调查显示
,开发人员逐渐开始从Java 8向Java 11转移。之前对Java社区的调查报告发现,开发人员在现阶段主要使用的为Java 8,而不是升级到较新的版本。根据调查,有61.5%的受访者在编程的某些地方使用Java 11,而12%的受访者在使用当时最新的Java版本,也就是之前发布的Java 15。而在这些使用Java 11的受访者中,有一半的人再创建堆栈的某些时候还是使用的Java 8。
不难看出,即使Java 11和Java 17两个LTS版本面世,也未能消减开发者对Java 8的喜爱。无论是函数式编程,还是对集合进行处理的Streams等特性,都让开发者使用Java编程更简单快捷,而且Java作为一门面向对象的编程语言,长时间使用Java 8的开发者都已经积累了大量的库,这些库让开发者可以省时省力高效地满足程序所需。无论是出于什么原因,开发者对Java 8的喜爱都证明了Java 8 yyds。
2021,Java这一年
在今年3月份,Java 16正式发布,引入了许多
新的增强功能
,例如Vector API (Incubator)(JEP338)、支持C++ 14语言特性的(JEP 347)、基于值的类的启用警告(JEP 390)等17个功能。
6个月后,Java 17作为继Java 11之后的最新长期支持版本(LTS版本),在12月正式发布,该版本发布的14个JEP分别为:
此外,Oracle还加强了对客户的支持,它与开发者社区合作,改进LTS版本调度,使企业在迁移到最新的LTS版本时能更灵活。而下一个LTS版本将是2023年9月发布的Java 21,这将使LTS版本发布周期从三年变为两年。
为了使Java的LTS版本更容易获得,Ooracle
修改了Java的使用许可证
。Java 17和以后的版本会免费提供,直到下一个LTS版本发布后一年。Ooracle公司也将继续根据开源通用公共许可证 (GPL) 发布 Oracle Open JDK 发行版。
Java 17的另一个焦点是加速Java在云环境中的应用。最近,Ooracle推出了
Java管理服务
,这是一个用于管理Java运行时和应用程序的Oracle云基础设施(OCI)服务。据该公司称,它提供了对Java部署的可见性,突出显示了未计划的Java应用,并检查是否已经应用了最新的安全补丁。
据最新的Open JDK显示,
Java18的部分功能也已经上
线
,例如JEP-400:默认为utf -8,JEP-408:简单的Web服务器Java API文档中的代码片段,以及其他的7个更新。预计Java 18会再2022年3月22日正式发布。
企业级Java又站起来了?
Eclipse基金会执行董事Mike Milinkovich针对该基金会2021年
Jakarta EE开发者调查