sudo apt update && sudo apt upgrade确保系统内核、工具链(如GCC)为最新版本,减少兼容性问题。openjdk-17-jdk),或通过sudo add-apt-repository ppa:openjdk-r/ppa添加PPA源安装更高版本(如OpenJDK 21)。新版本通常包含编译器优化(如JIT改进)和性能提升。/etc/environment,添加JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"(根据实际路径调整),运行source /etc/environment使变量生效。验证echo $JAVA_HOME和javac -version确保配置正确。javac命令。通过pom.xml(Maven)或build.gradle(Gradle)配置:
org.gradle.parallel=true,利用多核CPU加速编译。compile.sh脚本整合编译与运行步骤(示例见下文),避免重复输入命令。#!/bin/bash
# 编译:将src目录下的Java文件编译到bin目录
javac -sourcepath src -d bin src/com/example/Calculator.java
# 运行:指定类路径执行
java -cp bin com.example.Calculator
赋予执行权限:chmod +x compile.sh,运行:./compile.sh。-Xms)与最大大小(-Xmx)为相同值(如-Xms4g -Xmx4g),避免堆内存动态调整带来的性能损耗;调整新生代(年轻代)与老年代比例(-XX:NewRatio=3,新生代占堆的1/4)、新生代中幸存区与伊甸区比例(-XX:SurvivorRatio=8,幸存区占新生代的1/10),优化垃圾回收效率。-XX:+UseG1GC),适合大内存应用,可通过-XX:MaxGCPauseMillis=200设定期望的最大GC停顿时间(如200ms),平衡吞吐量与延迟。-XX:+TieredCompilation),结合C1(快速编译)与C2(深度优化)编译器,提升热点代码执行效率;设置线程栈大小(-Xss2m,默认1MB),避免栈溢出或过多内存占用。+拼接字符串(改用StringBuilder),减少临时对象生成;重用对象(如数据库连接池、线程池),降低GC频率。HashMap用于快速查找、ArrayList用于随机访问),避免使用低效结构(如LinkedList用于频繁随机访问);选择时间复杂度低的算法(如快速排序替代冒泡排序)。ExecutorService)管理线程,避免频繁创建/销毁线程;合理使用锁(如ReentrantLock替代synchronized),减少线程竞争。sudo apt install ccache,配置环境变量(如export CCACHE_DIR=/tmp/ccache),后续编译时会自动使用缓存。native-image工具将Java代码提前编译为原生可执行文件(如.exe或.so),消除JVM预热时间,适合微服务、CLI工具等需要快速启动的场景。安装GraalVM后,运行native-image -cp target/myapp.jar MyApp生成原生镜像。<skip>true</skip>需关闭),仅编译修改过的文件。