走进GraalVM

  • 是什么
    • GraalVM是一个高性能的JDK,旨在加速用Java和其他JVM语言编写的应用程序的执行,同时还为JavaScript,Python,Ruby和许多其他流行语言提供运行
  • 特点
    • GraalVM可以代替JDK、JVM之前的工作。
    • GraalVM除了支持Java,也支持多种语言。
    • GraalVM可以对应用AOT(提前编译-静态编译),也就是把程序直接编译成二进制,从而提升启动速度、改进内存使用。
    • 为JVM提供了高性能的JIT-动态编译:也就是程序在运行时才会去编译
  • 提供运行Java的方法
    • 在 Hotspot JVM 上使用实时JIT 编译器
    • 使用 AOT 将 Java 应用程序编译的本地可执行文件
  • 和JVM的关系
    • GraalVM和JVM的关系可以理解为GraalVM是一种新型的Java虚拟机,它提供了一种更高效、更快速的Java应用程序运行环境,可以帮助开发者提高应用程序的性能和启动速度
  • 缺点
    • 舍弃了 Java 的跨平台性,编译为本地执行文件,不同操作系统的服务器,编译出来的文件不一样,比如 windows 编译出来的文件,并不能在 Linux 系统运行,也就让 JAVA 丢失了平台无关性。
    • JAVA 设计之初,一次编译、到处运行是其最重要的特性,但是现在容器技术的出现,该特性显得很牵强。
    • 反射机制、CGLIB 动态代理这些和字节码打交道的机制,是在程序运行时动态调用,无法经过 AOT(提前编译-静态编译) 编译成原生代码,构建时还需要提供各种配置文件去适配
    • 目前该技术并未大面积使用,并不成熟

你可能感兴趣的:(java)