【一】.部署spring-boot,如图
(1.1) .手动修改pom.xml 设置spring-boot版本为2.7.1,别问为什么,踩过坑
(1.2) .手动修改pom.xml 设置native-buildtools.version 版本指向 0.9.10,别问为什么,踩过坑
未按照上面的要求配置可能出现的问题:native-image12860059531825023930args returned non-zero result
【二】.安装graalvm
(2.1).和安装java sdk一样,设置JAVA_HOME和PATH环境变量 ,也就是让你把graalvm和原来的java sdk一样用
(2.1).安装native-image,gu是graalvm的bin目录的gu.cmd
gu install -L native-image-installable-svm-java11-windows-amd64-22.0.0.2.jar
【三】.配置vc++编译环境
(3.1).使用visual studio的安装向导(不是让你安装visual studio,别慌,只是为了vc++环境),勾选如下
arm的机子选择arm,一般都是x86
安装完成后如果你有空就把他们添加到环境变量中去,毕竟方便,但是我懒的弄。
直接用这个工具即可免配置环境变量(下面都用它来执行命令编译):
【四】.编译为原生镜像
然后是使用命令编译项目:
cd D:\java\learn-file-server mvnw clean package -DskipTests -Pnative
编译耗时是真的可怕:
[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:35 min [INFO] Finished at: 2022-07-22T18:22:55+08:00 [INFO] ------------------------------------------------------------------------
target目录会生成exe文件,和go的差距太远了。2个接口生成60M文件。。。。
启动效果图:
java一个类可以有多个构造方法,根据传参类型和个数来匹配执行哪个构造方法。public class Member { public Member(){  ...
Java5 引入了一种主要用于数组的增强型 for 循环,类似js中的for inpublic class Member { public static void main(String[]&...
java判断字符是否是一个字母System.out.println(Character.isLetter('a'));java判断字符是否是一个数字System.out.println(Character.isDigit('0'));java判断字符是否是一个空白Sy...
java stringBuffer(1).stringBuffer和stringBuilder区别stringBuffer是线程安全的,stringBuilder速度更快(2).简单的stringBuffer例子StringBuffer sBuffer = new&nb...
java正则表达式的捕获组捕获组可以将匹配到的结果根据正则中的括号进行分组,这里变量我加了$符,php转java的坏习惯,懒得改了,能跑就行// 匹配字符串 String $line = "gaojiufeng 1994! ok?...
(4).java lookingAt匹配字符串和java matches匹配字符串lookingAt不要求整个字符串全匹配,例如me和me_you都是匹配的,但是lookingAt从第一个字符串开始匹配,匹配失败了也不会继续匹配,意味着me和you_me是无法匹配的matches匹配字符串要求全部匹...