尽管被称为编程语言的“老马”,但Java仍在不断发展。它仍然在Tiobe排行榜上排名第一,在PYPL和RedMonk排行榜上与Javascript和Python争夺第二名,在GitHub最受欢迎语言的库贡献者中排名第三。时代在变,但Java没有变。以前企业讲Java,现在还在讲Java。这在世界500强企业的技术栈中可以得到验证。为什么Java仍然流行?这件事情是由很多原因导致的。比如企业最重要的就是向后兼容。众所周知,向后兼容性对主要更新和升级非常敏感。但是,20年前用Java5编写的系统,在Java8下仍然可以编译运行。那么,Java在2019年的发展如何呢?Baeldung调查了6,707名经验丰富的技术人员并得出了一些结论。1.使用版本:Java8仍然是最流行的。从Java8开始,Java的发布周期明显加快,现在快到Java14了。你可能认为大多数人已经切换到更新版本的Java,但事实并非如此,根据调查显示,80%的受访者仍在使用Java8。为什么Java8即使是新版本仍然最受欢迎?这有很多原因:首先,Java8的开创性语言特性(请参阅我的Closures和Lambdas书评)仍在被编程社区吸收。即使到了2019年,关于Steam和Optional的问题还在网上热议,Baeldung自己也发布了一份Java8Optional指南。其次,Java9率先支持的新模块系统并没有让人们感觉更轻松,反而让人感到困惑。第三,后来的Java版本引入的特性似乎并没有足够的说服力让大家决定转行。最后还有一个大问题,2019年1月之后,JavaSE8的公开更新需要商业许可。这是OracleJDK和OpenJDK之争的开始,我们在之前的文章中说过:随着OracleJDK发行版和支持的变化,到底是使用OracleJDK、Oracle的OpenJDK,还是其他供应商的OpenJDK,存在相当大的不确定性权限条款。此外,还必须考虑不同供应商的免费更新计划的可用性以及付费支持模型(新的和现有的)。2.框架:Spring占主导地位在框架采用方面,Spring占主导地位。与传统的、臃肿的JavaEE相比,Spring是一个现代的、轻量级的框架,用于基于Java的企业应用程序。SpringBoot的采用率也很高。3.构建工具:Maven错位第一在Java构建工具的调查中,Maven以相当大的优势位居第一,这说明排名第二的Gradle仍然是Android的代名词,后期需要改变。为了摆脱这些限制,人们已经付出了很多努力,以便将其视为Java构建通用实践的可行选择。4、IDE:IntelliJ占比较大,Eclipse占比持续下降。在IDE调查中,IntelliJ以近60%的份额占据首位。为什么IntelliJ如此受欢迎?AndreyCheptsov曾在博客中写道:“在你编写代码的同时,IntelliJIDEA也在忙着构建它的语法树,在类、变量、字段、方法及其用法之间创建引用,分析执行流,利用这些信息,它可以提供补全功能,帮助您快速浏览代码,提供错误分析和方便的快速修复。传统的Eclipse稍逊一筹,其份额从去年的38%下降到32.8%。5.Web/应用服务器:Tomcat在2011年夺回第一,Forrester副总裁兼首席分析师MikeGualtieri,写了一篇有先见之明和永恒的文章,标题为《停止在 WebLogic、WebSphere 和 JBoss 应用服务器上浪费金钱》,他开始说:“使用ApacheTomcat,它是免费的。“”我不明白为什么有些公司会花费数百万美元购买Java应用程序服务器,例如OracleWeblogic或IBMWebSphereApplicationServer。我可以理解为什么有些公司会花钱购买RedHatJBoss,因为他们想在应用服务器上省钱。但是为什么要花钱呢?ApacheTomcat将满足大多数JavaWeb应用程序的部署需求。该表反映了这一说法:Tomcat在资源消耗方面一直保持轻量级,无可争议地击败Jetty夺冠。这些重量级人物的立场反映了他们时代的过时要求。6.杂项JVM语言:Java的使用没有变化首先,62.6%的开发人员只使用Java,这与去年(62.8%)持平,这有点令人惊讶和有趣。考虑到对KotlinAdoption的巨大兴趣,我的预期是这个数字肯定会下降,但现在似乎没有下降。然而,Kotlin仍然从去年的13%增长到现在的16.5%。和Gradle一样,Kotlin绝对可以作为一种通用语言来使用,尤其是在后端环境中,但在Android之外它仍然没有被广泛接受。7、数据库:关系型数据库比NoSQL更受欢迎MySQL和PostgreSQL位居前两位,Oracle位列第三,MongoDB和MSSQL分列第四和第五位。这里有两个值得注意的趋势。与Percona的数据库管理系统流行度调查结果一致,关系数据库管理系统优于NoSQL,而开源数据库管理系统优于大型商业数据库管理系统。数据库管理系统做得更好。与上一篇文章中的Web服务器一样,人们正在寻找更轻量级的等效项,尤其是PostgreSQL。8.总结综上所述,根据调查结果,Java未来不会被取代,未来几年将继续保持Top3的位置。然而,尽管人们仍然坚持使用该语言及其周围的生态系统,但他们也试图摆脱Oracle及其产品,例如IDE(JDeveloper)、服务器(WebLogic)、JDK及其旗舰数据库。MySQL是一个特例,因为它在很大程度上不受Oracle所有权的影响。大多数Java用户都在寻找更轻量级、更高效、更便宜、对开发人员和许可更友好的等价物,这些等价物与Oracle的等价物相当,甚至更好。
