4份报告简读Java生态

createh55个月前 (01-20)技术教程53

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

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 等项目出现。

相关文章

5款热门Java集成开发环境,你用上了么?

工欲善其事必先利其器。学习一门语言,入门第一步就是先选择一款强大的集成开发环境(简称IDE)并安装它。Java作为当下最热门语言之一,今天我们就来介绍一下5款最热门的Java集成开发环境。入门新人们赶...

Java 环境安装详细指南

前言作为一名测试工程师,设置和配置 Java 开发环境是日常工作中必不可少的一部分。本文将详细介绍如何在 Windows、macOS 和 Linux 系统上安装 Java 环境,包括 Java Dev...

java工具篇-jdk环境

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

手把手教你搭建java环境

前文由于一些历史原因,开发java程序需要技术人员自行搭建环境,而搭建环境对于新手来说并不友好,不像其他语言那般方便,现如今,为帮助想入门java却无法顺利搭建的同学,编写该教程,如果觉得本文有用,请...

JAVA+Maven +Eclipse 环境搭建

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

美畅物联丨Java 后端程序指定运行环境配置

畅联云平台 Java 后端环境配置技术文档一、概述在畅联云平台的部署中,Java 后端程序需要在不同的环境(如开发、生产)下运行,为了方便区分和管理环境,我们使用 Spring Profiles 的机...