Ubuntu下Java编译提速实用指南
一 先明确你的场景
二 日常项目编译提速(javac/Maven/Gradle)
-T 1C(按CPU核心数并行),Gradle 用 --parallel --max-workers=1C;确保开启增量编译与构建缓存(Gradle 的 --build-cache,Maven 的 maven-compiler-plugin 增量)。update-alternatives 或 SDKMAN),避免跨大版本导致的编译与运行差异;必要时为构建单独配置 JAVA_HOME 与 PATH,保证工具链一致性。-Xms2g -Xmx2g -XX:+UseG1GC;避免频繁Full GC拖慢编译。<repositories> 顺序,避免不稳定源;定期清理无效快照与重复依赖。三 构建OpenJDK/HotSpot时的提速要点
HOTSPOT_BUILD_JOBS 与 ALT_PARALLEL_COMPILE_JOBS 为CPU物理核心数或略低(如 export HOTSPOT_BUILD_JOBS=$(nproc));启用 ccache 缓存C/C++编译结果,重复构建显著加速。BUILD_JAXP=false、BUILD_JAXWS=false、BUILD_CORBA=false),只构建 HOTSPOT 与 JDK 等必要目标,缩短链路。SKIP_COMPARE_IMAGES=true,跳过与历史镜像的对比,减少I/O与CPU消耗(仅在确认无回退风险时使用)。make images 生成完整镜像;将构建日志重定向到文件(如 make ... 2>&1 | tee build.log),便于定位瓶颈与失败原因。四 一键可用的提速配置示例
sudo apt-get install -y build-essential mercurial ccache libfreetype6-dev libcups2-dev libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev libasound2-dev libffi-dev autoconfbash ./get_source.shexport LANG=Cexport ALT_BOOTDIR=/usr/lib/jvm/java-7-openjdk-amd64export HOTSPOT_BUILD_JOBS=$(nproc)export ALT_PARALLEL_COMPILE_JOBS=$(nproc)export USE_PRECOMPILED_HEADER=trueexport BUILD_JAXP=false BUILD_JAXWS=false BUILD_CORBA=falseexport SKIP_COMPARE_IMAGES=trueunset JAVA_HOME CLASSPATHbash configure --enable-debug --with-jvm-variants=servermake images -j$(nproc)