您的位置 首页 java

都2020年了,我还在用Java8

现在是敏捷开发时代了,流行小迭代, Java 现在的每六个月更新一次的发版频率就是小迭代。

Java开发团队可谓是“高产似母猪”,每隔几个月就冒出一个新版本出来,很多人对Java8都没有精通,但是Java11、12、13、14都已经发布了……

这么高的发布频率有什么用?

首先我们看看2020年1月Tiobe官网发布的编程语言排行榜:

都2020年了,我还在用Java8

Java依然稳居第一位,一哥的地位杠杠的,并且有越来越多的人使用Java,这是驱使官方不断优化更新的理由之一。

Java的不断迭代从另一个角度证明了其火热程度,虽然这些变化让人头晕目眩,但其目的是为了给世界上最流行的语言提供高质量、频繁且在计划内的更新,同时让语言开发团队保持高度活跃,以便让程序员们更好地探索Java语言。

都2020年了,我还在用Java8

01

企业应该升级吗?

在Java8之前,用户接受更高版本的Java的过程非常缓慢,想要跟上每六个月就要升级的步伐,实在是太难了。

对于企业来说,这种升级分分钟会带来兼容性的致命问题,风险也是非常大的,尤其面对庞大而又复杂项目。

而且 JDK 是个非常核心的基础设施,除了安全漏洞,基本上是不会再去动生产环境JDK了,而且出了安全事故谁也承担不了这个责任。

都2020年了,我还在用Java8

02

事实证明大部分人还在用Java8

从Java8之后,Java的发布周期明显快了很多,而根据调查显示,80%的受访者仍然在使用Java8。

都2020年了,我还在用Java8

都2020年了,我还在用Java8

在这么多的版本中,只有Java8、Java11和未来的Java17是长期支持版本(LTS),Oracle会支持3年,其他的只会支持6个月,新版本一出,就放弃老版本的技术支持,这也是很少有人使用9~14的版本的原因。

都2020年了,我还在用Java8

03

既然高频更新,为什么开发人员还在坚持使用Java 8呢?

第一,Java8开创性的语言特性还在被编程社区吸收。

即使到了2019年,网上仍然在热烈讨论关于Steam和Optional的相关问题,Baeldung自己也发布了Java8Optional 指南。

第二,Java9引入了模块化系统,这是个看起来很美的特性,可是对程序员来说,这是一个破坏性的更新,因为JDK做了模块化,但是很多第三方库没有做模块化。

如果想让自己的项目也模块化,很有可能是一次不断填坑的经历,尤其在使用第三方库的时候。

第三,在Java8之后,新版本的特性似乎没有足够的说服力让人们下决心更新。

第四,在2019年1月份之后,JavaSE8的公共更新需要商业许可,这也是OracleJDK与 OpenJDK 之争的开始。

此外,在不同的供应商那里是否可以得到免费更新的相关计划,以及 (新的和现有的) 付费的支持模型,这些都是人们考虑是否更新的因素。

都2020年了,我还在用Java8

框架:Spring占据主导地位

在框架的采用方面,Spring占据了主导地位。与传统且臃肿的JavaEE相比,Spring是现代化的、基于Java的企业应用程序的轻量级框架。SpringBoot的采用率也很高。

构建工具: Maven 断层式第一

在Java构建工具的调查中,Maven以相当大的优势排在了第一位,这表明排在第二位的 Gradle 仍然是Android的代名词,之后需要做更多的努力来摆脱这些限制,以便被开发者认可成为Java构建通用实践的一个可行选择。

IDE:IntelliJ大比例占据一位, Eclipse 份额持续下降

在IDE的调查中,IntelliJ以将近60%的份额占据了第一的位置。为什么IntelliJ如此受欢迎呢?

Jetbrains市场总监安德烈·切普索夫曾在一篇博客中这样写道:“在你编写代码时,IntelliJ IDEA也忙着在构建它的语法树,在类、变量、字段、方法和它们的用法之间创建引用,分析执行流,利用这些信息,它可以提供补全功能,帮助你快速浏览代码,提供错误分析和方便的快速修复。”

而传统的Eclipse则有点不妙,其占比从去年的38%下降到32.8%。

都2020年了,我还在用Java8

Web/应用服务器: Tomcat 占据第一

早在2011年,Forrester的首席分析师迈克·瓜蒂埃里就写过一篇既有预见性又不受时间限制的文章,名为《停止在 WebLogic WebSphere 和 JBoss 应用服务器上浪费金钱》他开头写道:“使用Apache Tomcat 吧,它是免费的。”

事实证明,Tomcat一直保持着轻量级的资源消耗,毫无争议地击败 Jetty、WebLogic、WebSphere 、JBoss等夺得了冠军。

数据库:关系型数据库比 NoSQL 更受欢迎

MySQL和 PostgreSQL 是前两名,Oracle排名第三,第四、第五名分别是 MongoDB和MSSQL。

这里有两个值得注意的趋势,与Percona的数据库管理系统流行度调查结果一致,关系型数据库管理系统胜过NoSQL,而开源数据库管理系统则比大型商业数据库管理系统做得更好。就像前文中的Web服务器一样,人们寻求的也是更轻量级的等价物,尤其是PostgreSQL。

04

我们需要不断地学习Java新版本吗?

最新的版本就一定是最好的吗?并不见得。

因为Java8被个人/企业所广泛运用,用的时间长了,bug都差不多被找出来了,只会更加稳定、顺手。 对于企业来说,稳才是重中之重,甚至有的企业还在用Java1.7版本。

那程序员们还有必要学习Java的新版本吗?

我认为是 有必要 的。

从技术来看: Java小版本更新基本上都是修复各种漏洞和bug,不会去改变现有的JDK,JDK其实都差不多,我们只需要知道它新增了什么功能而已,从这一点来看其实也增加不了很多的学习成本。

当Java大版本的更新,比如JDK7->JDK8,会增加一些新特性,花几个小时看看realse note就可以完成学习了,同样花不了程序员们的很多时间。

从个人来看: 虽然很多公司还在用JDK6-7-8,但是我们更应该关注的是自身的知识基础和学习能力, 不要因为现在公司的Java技术停留在某个版本上面而放弃学习,我们可以不为企业更新Java版本,但我们要为自己的知识深度与广度学习更多的Java知识。

如果你只会Java1.7,那么你的求职范围只能在使用Java1.7的公司中,一个用得上Java8、11、12的公司为什么要招一个连Java8都不会的人呢?

除了留意版本更新,程序员们同时要留意基于Java的一些流行框架和新技术,比如近几年兴起的SpringBoot、SpringCloud等。

一句话就可以概括:企业升不升级是他的事,你学不学是你的事。

文章来源:智云一二三科技

文章标题:都2020年了,我还在用Java8

文章地址:https://www.zhihuclub.com/198716.shtml

关于作者: 智云科技

热门文章

网站地图