4份报告简读Java生态

createh54个月前 (01-20)技术教程47

小伙伴们好呀,我是小羊。

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 了。

总结

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

相关文章

Java开发环境配置

编者按本讲是Java系列文章的第2讲,开发环境配置。兵马未动,粮草先行;工欲善其事必先利其器!内容提要俗话说的好:工欲善其事,必先利其器!Java开发环境配置是每位Java开发者必须掌握的基础知识,...

Java开发环境最丝滑的打开方式

本文通过【Jar包仓库优化】、【文件系统优化】、【远程开发】等各种手段将我们的Java开发环境打造得如同流沙一般丝滑,卡顿是不可能卡顿的,这辈子都不可能卡顿了。当然我们主要用的IDE仍然是vscode...

java工具篇-jdk环境

Jdk环境,使用过的有jdk1.5,jdk1.6,jdk1.8,其他的不说,这三个版本是阶段性的,在实践中区别较大,其中用的最多的是1.6和1.8。如果遇到面试,jdk的差别?1.5开始有泛型,这个是...

JAVA 01 jdk下载安装以及配置环境变量

1.搭建JAVA开发环境1.JDK的下载和安装从oracle官网下载即可。安装到E盘下双击安装,文件夹名字不可以有中文字符。安装路径为:E://java文件夹下。配置JDK环境变量找到path,进行新...

JAVA+Maven +Eclipse 环境搭建

软件版本及下载地址:1-JDK-11.0.25_Windows-x64_bin.exehttps://download.oracle.com/java/21/latest/jdk-21_windows...

教程|宝塔面板安装部署Java项目环境的主要步骤介绍

宝塔面板是一款提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/Java等100多项服务器管理功能。宝塔面板支持Windows和Linux操作系统,您可通过W...