在 CentOS 上“优化 Java 编译”可以从编译速度、编译参数、系统环境、构建工具几个层面来做。下面按实用程度给你一套方案。
不同 JDK 对编译性能影响很大:
查看当前 JDK:
java -version
切换 JDK(alternatives):
sudo alternatives --config java
javac -d out $(find src -name "*.java") &
但更推荐用构建工具。
mvn compile -T 4
# 或按 CPU 核数
mvn compile -T $(nproc)
安装 Maven(如未安装):
sudo yum install maven -y
在 MAVEN_OPTS 或 JAVA_OPTS 中设置:
export MAVEN_OPTS="-Xms1g -Xmx4g -XX:+UseG1GC -XX:ParallelGCThreads=$(nproc)"
说明:
-Xmx:根据内存调整G1GC:适合编译型任务SerialGCmvn compile -DskipTests
Maven / Gradle 默认支持,不要每次 clean:
mvn compile
# 不要总用
mvn clean compile
mvn compile -Dmaven.compiler.proc=none
sudo yum install gradle -y
并行 + 构建缓存:
gradle build --parallel --build-cache
ulimit -n 65535
永久生效:
/etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
mkdir /tmp/build
mount -t tmpfs tmpfs /tmp/build
Maven 使用:
mvn -Dmaven.repo.local=/tmp/build/repo compile
gradle build-cachemaven-javac-cache-pluginexport MAVEN_OPTS="-Xmx4g -XX:+UseG1GC"
mvn compile -T $(nproc) -DskipTests
如果你愿意,可以告诉我:
我可以给你精确到参数的优化配置。