温馨提示×

ubuntu中java编译怎样优化

小樊
47
2026-10-16 02:42:24
栏目: 编程语言

在 Ubuntu 下优化 Java 编译(javac) 和 构建过程,可以从编译参数、构建工具、JDK 版本、系统资源几个方面入手。下面按实用程度给你一个清晰清单。


一、选择合适的 JDK(非常重要)

1. 使用较新的 JDK

  • 推荐 JDK 17 / 21(LTS)
  • 新 JDK 的 javac 更快、优化更好
sudo apt install openjdk-21-jdk

查看版本:

java -version
javac -version

二、javac 编译参数优化

1. 启用增量编译(默认就有,但别滥用 clean)

javac -d out src/**/*.java

避免每次 rm -rf 全部 class 文件。


2. 使用 -proc:none(无注解处理)

如果不用注解处理器:

javac -proc:none ...

3. 并行编译(JDK 支持)

javac --multi-release 21 ...

或使用构建工具并行(见下)。


4. 关闭调试信息(生产编译)

javac -g:none

⚠️ 开发环境不建议


三、使用构建工具(强烈推荐)

1. Maven 优化

mvn -T 4 compile
  • -T 4:4 线程
  • -o:离线模式(已下载依赖)

跳过测试(仅编译):

mvn compile -DskipTests

2. Gradle 优化(更快)

gradle build --parallel --daemon

gradle.properties:

org.gradle.parallel=true
org.gradle.daemon=true
org.gradle.caching=true

四、Ubuntu 系统层优化

1. 增加文件描述符

ulimit -n 65535

2. 使用 tmpfs(编译加速)

mkdir /tmp/build
mount -t tmpfs tmpfs /tmp/build

把 target/ 或 build/ 放这里。


3. 使用 SSD & 足够内存

  • 编译是 IO + CPU 密集型
  • 8G+ 内存明显更快

五、高级优化(大型项目)

1. 使用 sccache / build cache

export JAVA_TOOL_OPTIONS="-XX:+TieredCompilation"

2. 预编译模块(JPMS)

javac --module-source-path src -d out

六、推荐组合(实用方案)

✅ 开发环境

  • JDK 21
  • Gradle + daemon
  • SSD + 8G 内存

✅ CI / 服务器

  • Maven -T 4
  • tmpfs
  • 关闭调试信息

如果你愿意,可以告诉我:

  • 用的 Maven 还是 Gradle
  • 项目规模(小 / 中 / 大型)
  • 是否在 Docker / WSL / 服务器

我可以给你一套针对性优化配置。

0 踩