CPU 架构 | 推荐 JDK 版本 | 验证命令 |
飞腾 ARM64 | 麒麟 JDK11 for ARM64 | java -version | grep aarch64 |
龙芯 MIPS64 | 麒麟 JDK11 for MIPS64 | java -version | grep mips64 |
海光 X86_64 | 麒麟 JDK11 for x86_64 | java -version | grep x86_64 |
wget https://kylinos.cn/down/jdk11-arm64.debsudo dpkg -i jdk11-arm64.deb
sudo tee /etc/profile.d/java.sh << 'EOF'export JAVA_HOME=/usr/lib/jvm/java-11-kylin-arm64export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/libEOF
source /etc/profileecho $JAVA_HOME # 输出上述路径即为成功
# 安装交叉编译工具sudo apt install gcc-aarch64-linux-gnu# 克隆源码并指定架构编译git clone https://github.com/netty/netty.gitcd nettymvn clean package -DskipTests -Pnative -Dnative.targetArch=aarch64
java -jar app.jar \-XX:+UnlockExperimentalVMOptions \ # 解锁麒麟JDK实验性参数-XX:+UseG1GC \ # 切换至低延迟G1 GC-Xms8g -Xmx8g \ # 堆内存设为物理内存50%-XX:MaxGCPauseMillis=200 \ # 控制GC停顿时间-XX:+PrintGCDetails -Xloggc:gc.log # 输出GC日志便于分析
# 分配端口绑定能力sudo setcap CAP_NET_BIND_SERVICE=+eip $JAVA_HOME/bin/java# 验证:普通用户可绑定80端口java -jar app.jar --server.port=80
# 创建自定义策略文件sudo tee app_selinux.te << 'EOF'module app_selinux 1.0;require { type unconfined_t; type tmp_t; class file write; }allow unconfined_t tmp_t:file write;EOF# 编译并加载策略checkmodule -M -m -o app_selinux.mod app_selinux.tesemodule_package -o app_selinux.pp -m app_selinux.modsudo semodule -i app_selinux.pp
sudo tee /etc/security/limits.d/java.conf << 'EOF'* soft nofile 65535* hard nofile 65535EOF