在 Ubuntu 上“优化 Java 编译”可以从编译速度、编译产物性能、构建工具配置、系统环境几个层面来做。下面按实用程度从高到低说明。
不同 JDK 对编译速度和运行时性能影响很大。
javac 编译更快、生成代码更优查看当前版本:
java -version
javac -version
安装 OpenJDK 21(Ubuntu 22.04+):
sudo apt update
sudo apt install openjdk-21-jdk
切换 JDK:
sudo update-alternatives --config java
sudo update-alternatives --config javac
javac -d out -p src --module-source-path src $(find src -name "*.java")
或手动指定线程(构建工具更常用)
mvn -T 4 compile
# 或自动线程数
mvn -T 1C compile
gradle.properties:
org.gradle.parallel=true
org.gradle.caching=true
org.gradle.jvmargs=-Xmx2g
mvn compile
# 不要每次 clean
mvn clean compile # 慢
./gradlew compileJava --build-cache
~/.mavenrc 或环境变量:
export MAVEN_OPTS="-Xmx2g -XX:+UseG1GC"
org.gradle.jvmargs=-Xmx4g -XX:+UseG1GC
mvn -pl module-a -am compile
mvn compile -Dmaven.compiler.proc=none
优先级(编译速度):
Gradle > Maven > 手动 javac
如果是大项目,强烈建议 Gradle + 增量编译。
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
mkdir /tmp/build
mount -t tmpfs tmpfs /tmp/build
javac -O -nowarn -d out src/**/*.java
⚠️ -O 在新 JDK 中已被忽略,优化主要在 JVM 层。
✅ Ubuntu + JDK 21 + Gradle
org.gradle.parallel=true
org.gradle.caching=true
org.gradle.jvmargs=-Xmx4g -XX:+UseG1GC
如果你愿意,可以说:
我可以直接给你最优配置模板。