聊聊对GraalVM的理解

一句话: GraalVM是高性能的Java虚拟机,还支持多语言开发和编译

 

特点:

1.能运行多种语言,支持跨语言互调,共享数据

2.支持即时编译(JIT模式),性能极高,内存占用低。 支持预编译,冷启动快

3.垃圾回收效率高,降低系统延迟,提高吞吐量

 

传统JVM运行过程

java源代码(.java)   ->   字节码文件(javac)   ->  机器码 (cpu可执行)  

 

执行过程中要用到某个类User

1.类加载过程,类加载器 将User类的字节码文件 从磁盘搬运到内存(方法区)。   (类首次被加载到方法区后,后续使用不需要再加载,只需解释器解释即可)

2.解释器将字节码文件解释成机器码,提供一次性运行。

 

JIT即时编译:将高频使用的类,缓存机器码到堆外内存,避免解释器频繁解释,大幅提高效率

 

GraalVM的优化

  • 一方面提供更先进的JIT编译器(Graal编译器)

  • 另一方面提供AOT编译(Native Image),可以彻底去掉JIT,生成独立可执行文件

 

Graal编译器比传统JIT:

1.部分逃逸分析  Graal能精细判断,只让逃逸的部分走堆分配,不逃逸的拆成栈上变量      (逃逸分析 = 判断某个对象是方法内的对象用完即销毁还是方法外全局的对象,GC开销不同

2.用Java写的,比C2的C++代码更容易维护和演进

 

 

GraalVM对云原生的支持

把Java应用提前编译成独立的小体积可执行文件,实现“毫秒级启动、极低内存占用”

 

 

 

GraalVM 是实现更快启动时间、更低内存使用、原生镜像生成和无缝多语言支持的绝佳选择。

 

posted @ 2026-07-27 10:01  六小扛把子  阅读(4)  评论(0)    收藏  举报