Native Image部署和JVM部署的主要区别

简介: Native Image部署和JVM部署的主要区别

与 JVM 部署的主要区别
GraalVM Native Images 是提前生成的,这意味着原生和基于 JVM 的应用程序之间存在一些关键差异。主要区别在于:

应用程序的静态分析是在构建时从主入口点执行的。

创建本机映像时无法访问的代码将被删除,并且不会成为可执行文件的一部分。

GraalVM 不直接了解代码的动态元素,必须告知反射、资源、序列化和动态代理。

应用程序类路径在构建时是固定的,无法更改。

没有延迟类加载,可执行文件中提供的所有内容都将在启动时加载到内存中。

Java 应用程序的某些方面存在一些不完全受支持的限制。

GraalVM 参考文档的本机映像兼容性指南部分提供了有关 GraalVM 限制的更多详细信息。

image.png

摘自:https://docs.spring.io/spring-boot/docs/3.0.0/reference/htmlsingle/#native-image.introducing-graalvm-native-images

相关文章
|
4月前
|
Java 编译器 API
【Java核心】JDK、JRE、 JVM的联系与区别
【Java核心】JDK、JRE、 JVM的联系与区别
117 0
|
6月前
|
存储 Java C语言
JVM之native关键字与PC寄存器
JVM之native关键字与PC寄存器
|
3月前
|
Java 编译器 Apache
JDK,JRE,JVM之间的区别和联系
JDK,JRE,JVM之间的区别和联系
67 0
|
1月前
|
存储 安全 Java
JDK、JRE 和 JVM 的区别和联系
JDK、JRE 和 JVM 的区别和联系
23 0
|
1月前
|
Cloud Native Java Docker
【Spring云原生】Spring官宣,干掉原生JVM,推出 Spring Native!整体提升性能!Native镜像技术在Spring中的应用
【Spring云原生】Spring官宣,干掉原生JVM,推出 Spring Native!整体提升性能!Native镜像技术在Spring中的应用
|
9月前
|
存储 算法 安全
15-大厂面试题-JVM垃圾回收采用的是什么算法,有什么区别和优劣?
通过之前的学习,我们知道了JVM会通过**可达性算法**来筛选出哪些对象是可回收的,哪些对象是不可回收的,GCRoots对象是哪些,java的引用类型有哪些以及finlize()方法的作用。同时我们也知道了当一个对象在创建的时候是存放在堆内存中的新生代里的,那么当新生代内存满了后就会触发Minor GC;但是问题是我们如何针对新生代内存进行管理,以及如何进行回收这也是一个值得分析和探讨的问题。
68 0
|
4月前
|
安全 Java
JVM-intern方法在1.6和1.8版本实现区别
JVM-intern方法在1.6和1.8版本实现区别
|
4月前
|
存储 开发框架 Java
JDK,JRE,JVM区别与联系
JDK,JRE,JVM区别与联系
24 0
|
7月前
|
Java 编译器
JVM、JRE和JDK的区别与联系
JVM、JRE和JDK的区别与联系
48 0
|
8月前
|
存储 Java 编译器
jvm堆和栈的区别
了解jvm堆和栈的区别
75 0