Java体系根深叶茂,家族虽然稳定,但仍暗藏地位不保危机

近期,著名的Java插件公司Jrebel公布了一份Java开发技术报告(2020 Java Technology Report),该报告重点介绍了开发人员在开发过程中使用的技术。其中包括,Java运行版本、应用程序服务器、运行时平台、框架技术、框架配置方法、开发工具、JRE / JDK分发、PAAS提供程序、数据库、部署模型、构建工具和虚拟化工具。报告以数据图标的形式,展示了行业统计调查的结果,报告反映了Java开发体系呈现相对稳定态势,技术流派的集中度正在正在加强。

Java技术框架的集中度比较高


Java体系根深叶茂,家族虽然稳定,但仍暗藏地位不保危机

Java主流技术栈

经过多年的发展,Java技术逐渐趋向成熟,各种技术板块的集中度较高,Java技术体系大势已定。

  • 按照Java使用版本的占有率。约有60%的用户使用Java8,有20%多的人使用Java11。只有6%的受访者使用Java 12或更新。虽然谷歌在推动kotlin,但是Kotlin使用率只有3%。
  • 服务器的使用上。在Java服务器的使用上,Tomcat 仍然是最热门的应用服务器,weblogic,jetty的占有率仍然比较低。
  • 运行时平台上。在运行时平台的选择上,大部分人选择SpringBoot ,高达82%的用户选择使用SpringBoot,可以说,目前SpringBoot占据绝对优势。
  • 框架选择上。框架的选择上86%的受访者使用Spring, 在框架上,Spring仍占据绝对优势。
  • 注解与配置上。注解多于XML配置,使用XML配置的占比67.17%。
  • 开发工具上,Intellij IDEA 击败 Eclipse。
  • 在数据库的选择上,PostgreSQL 和Oracle数据库更受欢迎,MySQL数据库在中小企业中,仍占大多数吧。
  • 构建工具上,Gradle、Maven占主流。
  • 开发人员使用哪些虚拟化工具?最常用的工具是Docker,占74%。Kubernetes是第二大最受欢迎的虚拟化工具,占35%,这显示了Kubernetes在过去几年的持续增长。

Java体系根深叶茂,Oracle对Java版本收费,也没有掀起波浪

由于Java开源,并且有比较高的安全性和稳健性,非常适合企业级别的互联网开发,长期以来Java语言始终占据TIOBE编程语言排行榜榜首。2018年4月,Oracle宣布,“2019年1月之后”,如果没有获得Oracel公司的商业许可证,Java SE 8将不会再收到公开更新,也将无法用于“商业或生产用途”,使用了23年的Java将不再免费了。这对拥有众多拥趸者的Java无异于一颗重磅炸弹。


Java体系根深叶茂,家族虽然稳定,但仍暗藏地位不保危机

Java老了吗

不过很快就有亚马逊、阿里巴巴等几家公司出面宣称,将继续支持维护Java的开源版本。

Amazon Corretto 是亚马逊提供的一个免费的、基于 OpenJDK 的、多平台的、生产就绪的 JDK 发行版。Amazon Corretto 提供了长期支持,其中包括性能增强和安全修复。亚马逊在内部数千种生产服务上运行着 Corretto,并且 Corretto 已被证明能够兼容 Java SE 标准。借助 Corretto,用户可以在常用操作系统(包括 Amazon Linux 2、Windows 和 macOS)上开发和运行 Java 应用程序。

除了亚马逊之外,电子商务供应商阿里巴巴现在也推出了自己的Java发行版,即开源Dragonwell8 Java开发工具包(JDK)。

阿里巴巴的Dragonwell8基于OpenJDK和Java SE(标准版)8。它类似于Amazon Corretto Java。当前,Allibaba仅适用于Intel x86-64 Linux系统,重点是数据中心中大型Java应用程序的稳定性和增强功能。计划在每个季度发布Dragonwell版本。基于Java SE 11的Dragonwell 11 将于今年推出。

同时,Azul Zulu Java平台,SAP的SapMachine Java与阿里巴巴的Dragonwell Java变体一样,也是OpenJDK称为“友好的分支”。

就这样,Java版本的收费风波过去了,行业稳定下来,Java体系根深叶茂,众多大公司使用Java进行开发,所以一微风,根本在Java庞大体系中掀起波浪。

人工智能时代 Java需要跟上步伐

技术发展瞬息万变,人工智能(AI)近年来变得非常流行。人工智能从早年的阳春白雪专家学者专用,到现在变成了高级程序员的必修课。其中Python语言因为拥有更多的开发库,一度登顶TIOBE编程语言排行榜榜首,Java只能屈居第二位。


Java体系根深叶茂,家族虽然稳定,但仍暗藏地位不保危机

人工智能时代的开发语言

我们观察 TensorFlow、Caffe、Apache Mahout、OpenNN、Torch、Neuroph、Deeplearning、Mycroft、OpenCog等人工智能的开发框架也能发现这个问题,就是这些人工智能开发框架对Python的支持程度要好于Java。

虽然Java以稳健成熟的框架、较高的效率、丰富的库支持等原因仍居WEB开发的主流,但是由于人工智能发展潮流汹涌,Python被多数人看好,Java的地位看似有些隐忧。

另外,小程序支撑技术Nodejs的发展,也对Java地位造成了一点影响,在轻量级开发方面Nodejs各种框架,已经进入春秋战国时代。再有一个不得不提的是Kotlin语言,或许也会对Java造成一点影响吧。

开发职场风云变幻,各种技术路线层出不穷,身处旋涡中的程序员可能只有不断学习,把握技术变化的风向,才能扬帆远航吧。


分享到:


相關文章: