介绍GraalVM是一个高性能的JDK,支持Java/Python/JavaScript等多种语言。它允许Java作为二进制文件执行,让程序在任何地方都可以更快地运行。也许这是Java和Go之间的战争?下载安装GraalVM安装GraalVM首先去官网下载。我直接从GitHub发布页面下载了它。请下载相应的系统包。我下载的是这样的:graalvm-ce-java11-darwin-amd64-22.3.0.tar.gz下载后解压到某个目录,我的是这样的:/Users/larry/Software/graalvm-ce-java11-22.3.0然后测试对应的程序是否可以正常执行,比如java--version。在Mac上会报错如下:isdamagedandcan'topened..所以需要执行如下语句:$sudoxattr-r-dcom.apple.quarantine/Users/larry/Software/graalvm-ce-java11-22.3.0注意修改对应目录。然后就可以执行:$./java--versionopenjdk11.0.172022-10-18OpenJDKRuntimeEnvironmentGraalVMCE22.3.0(build11.0.17+8-jvmci-22.3-b08)OpenJDK64-BitServerVMGraalVMCE22.3.0(build11.0.17+8-jvmci-22.3-b08,混合模式,共享)安装native-image,用于将Java程序转换为本地二进制包的工具,安装如下:$./guinstallnative-imageDownloading:Componentcatalogfromwww.graalvm.orgProcessingComponent:NativeImageDownloading:Componentnative-image:NativeImagefromgithub.com安装新组件:NativeImage(org.graalvm.native-image,version22.3.0)配置环境配置环境变量因为这个GraalVM还不够成熟,不想一直用,所以通过命令切换,配置如下:exportGraalVM_HOME=/Users/larry/Software/graalvm-ce-java11-22.3.0/Contents/HomealiasswitchOnGraalVM='exportPATH=$GraalVM_HOME:$PATH'aliasswitchOnGraalVMJavaHome='exportJAVA_HOME=/Users/larry/Software/graalvm-ce-java11-22.3.0/Contents/Home'别名switchOffGraalVM='导出路径=`echo$PATH|tr":""\n"|grep-v“graalvm”|tr"\n"":"`'aliasswitchOffGraalVMJavaHome='exportJAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_212.jdk/Contents/Home'配置IDEA可以在IDEA上配置对应的JDK,方便开发时使用:IntegrateSpringNative用SpringBoot普通的SpringBoot程序创建一个普通的SpringBootweb程序,主要Java代码如下:@SpringBootApplication@RestController@RequestMapping("/")publicclassSpringbootNativeGraalVMMain{publicstaticvoidmain(String[]args){SpringApplication.run(SpringbootNativeGraalVMMain.class,args);}@GetMapping("/hi-graalvm")publicStringhi(){return"ThismessageisfromSpringBootbuilt/runbyGraalVM/SpringNative";}}The启动时间是1.193秒,不错我的电脑还不错。集成SpringNative添加依赖:
