小伙伴们好呀,我是小羊。
age++;
后,我决定收敛下好奇心,挖掘下技术深度。因为这个号叫 Java4ye,所以第一个专栏就从 Java 开始吧!😝
那么现在的 Java 生态发展到什么情况了呢?
这里我收集了四份报告,一起看看吧
Java 生态报告 ------ InfoQ

有四大专栏,下面简单介绍下。
Innovators
Jakarta EE

从 wiki 上了解到的信息,大致意思是:Oracle 将 Java EE 提交到 Eclipse 基金会,然后就改名成这个 Jakarta EE 了。(雅加达)

对照这个图,可以看到 5 开始支持 注解,7 开始支持 WebSocket 等。
Fast JVM Startup (CRaC)

CRaC(协调恢复检查点)项目研究 Java 程序的协调机制,以便在 Java 实例执行时检查点(生成映像、快照)。
从映像恢复可以 解决启动和预热时间 的一些问题。
你可以把预热后的 JVM 保存下来,然后快速启动。 主要是针对 Java 在 微服务 和 serverless 场景下的不足。
下图是 Springboot 3.2 对 CRaC 功能的描述。 👇

下面是 Azul 使用 JDK 17 测试的效果。 效果超给力,确实不是一个数量级的。比如 Spring boot 从 4 s 到 40 ms。

其他
Java21 是目前的最新版, 虚拟线程 功能上线,相应的 虚拟线程框架有 Vert.x 。
Early Adopters
云原生方向的新框架: helidon (虚拟线程), micronaut(全栈)。


Fast JVM Startup (GraalVM)
和上面的 CRaC 不同,它采用 AOT 方式来加速启动 Java。

Early Majority
没想到,Quarkus 来到这一栏了,一直以为还很新颖。
Quarkus 是一个为 GraalVM 和 HotSpot 定制的 Kubernetes 原生 Java 框架

Late Majority
Clojure 是一种现代、功能性、动态的编程语言,它基于Java虚拟机(JVM)运行。它结合了 Lisp 的优雅和 Java 的实用性,提供了强大的并发性和宏系统。
Clojure 这个脚本语言我才发现不久,下面是一个应用例子。

Java 生态热门话题 ------ Vaadin
前三个分别是 微服务 , k8s , AI/ML 。
第十个是 GraalVM

Java 生态报告 ------ newrelic
这份报告是 23 年 4 月份的,可以看出在 JDK11 之后, G1 垃圾收集器使用率最高。其他内容我就兴致寥寥了,大致说了 JDK17 越来越多人用之类的。

Java 生态报告 ------ Jetbrains
说好的 "你发任你发,我用 Java8" ,结果这么多 17 了。




总结
- Java 在朝云原生方向靠拢,出现了好几个新的框架
- 虚拟线程是最大的亮点
- JVM 在探索快速启动方向
- JDK17 是最近的一个 LTS 版本。
- 针对 AI/ML ,有 Spring AI 等项目出现。
