2019 年 Java 发展状态报告

原文链接: https://www.infoq.com/articles/java-jvm-trends-2019/

Java 按技术采用生命周期分为:创新者早期采用者早期大众晚期大众

  • Java 13 处于创新者阶段,Java 11 处于早期采用者阶段,Java 8 处于晚期大众阶段。Java 11 将是未来 Java 用户的最可能选项;

如果一个公司对大堆栈 GC 能力、延迟 SLA 等方面要求没有那么高,就没有足够动力去做相关升级,也未必有技术力量解决版本评估、兼容性修正等现实问题;
Java 新版本升级在中国的宣传还是不够,如果很多企业看不到技术升级的红利,势必也影响升级的积极性。

  • OpenJDK 处于创新者阶段。OpenJDK 很可能被认为是一种退⽽求其次的选择。

虽然国内很多头部厂商都在定制 OpenJDK,但是目前定制 OpenJDK 被采用范围还都有限,主体使用还是 Oracle JDK(根据《JVM 生态系统报告 2018》调查显示,70% 的开发者选择使用 Oracle JDK,21% 的开发者选择使用 OpenJDK);

  • 非 Hotspot JDK 生产实践——Graal VM、IBM OpenJ9 处于早期采用者阶段。

Graal VM 目前还尚不可知其兼容性情况以及明确的商业化条款;
Graal VM 的部分技术,例如,基于 Java 语言开发的 JIT 引擎,可能会成为未来 OpenJDK 的基础技术;

  • Lambda /Stream 处于晚期大众阶段、Vector API 处于创新者阶段。

Lambda 语法以及 Stream API 也在开发人员的⽇常⼯作中⼴泛地运用,并且没有看到语法回退的趋势;
Vector API 等前沿特性,有能力的公司有限,抑制了对其有需求的公司或者场景。

  • Kotlin 处于早期大众阶段,Scala 和 Groovy 处于晚期大众阶段。

Groovy 已快成为明日黄花,往昔的光芒逐渐地被后起之秀 Kotlin 替代;
Scala 在适合的领域做王者就够了,主流不主流没那么重要;
Kotlin 被谷歌强推,谷歌支持的基本上都成功了,但是对 Kotlin 未来发展空间还是表示怀疑;

  • Spring Boot 和 Spring Cloud 进入晚期大众阶段;ServiceComb 处于早期采用者阶段;Apache Dubbo 处于晚期大众阶段;Tars 处于早期大众阶段。

微服务技术处于早期大众与晚期大众之间,新的微服务开发框架需要技术突破和创新,不然已经难有一席之地;
技术多元化的今天,支持多语言的微服务开发框架是个必须品。

创新者 早期采用者 早期大众 晚期大众
Java 13 Java 11 Kotlin Java 8

猜你喜欢

转载自blog.csdn.net/winteroak/article/details/101529158