Java AOT技术

235 阅读1分钟
#安装native-image
./graalvm-ee-19.0.0/bin/gu install native-image

#安装vs2019
选择c++开发窗口程序相关的所有组件,2G多一点,安装完重启电脑

#打包命令
native-image.cmd -cp wcj-mock-1.0-jar-with-dependencies.jar --no-fallback --enable-url-protocols=http –H:ConfigurationFileDirectories=./config1/  -H:Class=wcj.mock.MockServer -H:Name=wcj-mock


#通过传统jvm搜集信息
java -agentlib:native-image-agent=config-output-dir=./config/ HelloWorld
java -agentlib:native-image-agent=config-merge-dir=./config/ HelloWorld



native-image.cmd -cp wcj-movie-download-1.0-jar-with-dependencies.jar --no-fallback --enable-url-protocols=http –H:ConfigurationFileDirectories=./config/  -H:Class=com.wcj.mytools.moive.MDExcuter -H:Name=wcj-movie


"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" && mvn package


k --enable-url-protocols=http–H:ConfigurationFileDirectories=./config1/  -H:Class=com.wcj.mytools.moive.MDExcuter -H:Name=wcj-movie
[wcj-movie:18288]    classlist:   1,587.85 ms,  0.96 GB
[wcj-movie:18288]        (cap):   1,577.11 ms,  0.96 GB
The URL protocol http–H:ConfigurationFileDirectories=./config1/ is not tested and might not work as expected.
Supported URL protocols enabled by default: file,resource. Supported URL protocols available on demand: http,https.
Registering the http–H:ConfigurationFileDirectories=./config1/ URL protocol failed. It will not be available at runtime.

[wcj-movie:18288]        setup:   3,302.53 ms,  0.96 GB
[wcj-movie:18288]     (clinit):     316.03 ms,  4.38 GB
[wcj-movie:18288]   (typeflow):  12,601.62 ms,  4.38 GB



#带配置信息生成相关信息
native-image.cmd  -jar wcj-movie-download-1.0-jar-with-dependencies.jar  -H:Class=com.wcj.mytools.moive.MDExcuter -H:Name=wcj-movie –H:ConfigurationFileDirectories=./config

#收集信息
java -agentlib:native-image-agent=config-output-dir=./config/ -jar wcj-movie-download-1.0-jar-with-dependencies.jar https://yj1.7086xz.org/pw/html_data/3/2105/5330897.html


#带配置信息生成相关信息
native-image.cmd  -jar w.jar  -H:Class=com.wcj.cmd.W -H:Name=wcj-movie –H:ConfigurationFileDirectories=./config/
#收集信息
java -agentlib:native-image-agent=config-output-dir=./config/ -jar w.jar


#添加ResourceBundles
-H:IncludeResourceBundles=org/eclipse/jetty/http/mime

java.security

禁用算法安全

#jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA,
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL,
include jdk.disabled.namedCurves