Leyden项目:通过AOT编译彻底改变Java性能
几十年来,Java以其“一次编写,随处运行”的理念主导着企业软件开发。然而,云原生架构、微服务和无服务器计算的兴起暴露了Java设计中的一个关键弱点:启动时间缓慢。在OpenJDK上运行的具有JIT编译的传统Java应用程序通常需要2-5秒来初始化,这使得它们不适合: 无服务器功能(AWS Lambda、Azure功能) Kubernetes中的短期微服务 需要即时响应的CLI工具 边缘计算部署
几十年来,Java以其“一次编写,随处运行”的理念主导着企业软件开发。然而,云原生架构、微服务和无服务器计算的兴起暴露了Java设计中的一个关键弱点:启动时间缓慢。在OpenJDK上运行的具有JIT编译的传统Java应用程序通常需要2-5秒来初始化,这使得它们不适合: 无服务器功能(AWS Lambda、Azure功能) Kubernetes中的短期微服务 需要即时响应的CLI工具 边缘计算部署
Red Hat提供的示例的启动速度和内存消耗给我留下了深刻的印象。这些令人印象深刻的数字的主要原因之一是,代码是用GraalVM(Oracle开发的Java虚拟机的扩展)提前编译到本机映像的(AOT)。为了帮助您更好地理解经典热点JVM和GraalVM之间的区别,我将在本文中向您介绍GraalVM及其特性和历史。 GraalVM是用纯Java编写的JVM的扩展,支持Oracle开发的多语言编程和提
GraalVM是开发人员编写和执行Java代码的工具。具体来说,GraalVM是由Oracle创建的Java虚拟机(JVM)和Java开发工具包(JDK)。它是一个高性能的运行时,可以提高应用程序的性能和效率。 GraalVM的目标包括:编写一个更快、更易于维护的编译器,提高在JVM上运行的语言的性能,减少应用程序启动时间,将多语言支持集成到Java生态系统中,以及为此提供一组编程工具。 Graa
GraalVM是开发人员编写和执行Java代码的工具。具体来说,GraalVM是由Oracle创建的Java虚拟机(JVM)和Java开发工具包(JDK)。它是一个高性能的运行时,可以提高应用程序的性能和效率。 GraalVM的目标包括:编写一个更快、更易于维护的编译器,提高在JVM上运行的语言的性能,减少应用程序启动时间,将多语言支持集成到Java生态系统中,以及为此提供一组编程工具。 Graa
GraalVM是一个高性能运行时,它在应用程序性能和效率方面提供了显著的改进,这是微服务的理想选择。它是为java、JavaScript、LLVM等语言编写的,如C++和C++语言,以及其他动态语言。它消除了编程语言之间的隔离,并在共享运行时启用互操作性。它可以独立运行,也可以在OpenJDK的上下文中运行,Node.js或者Oracle数据库。 对于Java程序 对于现有的Java应用程序,Gr