硬件与系统级优化
free -h命令确认系统内存使用情况。JDK与JVM参数调优
apt install openjdk-17-jdk安装Debian官方仓库的OpenJDK 17。-Xms(初始堆大小)和-Xmx(最大堆大小)设置合理的堆内存,避免编译过程中堆内存不足导致的频繁GC。建议将两者设置为相同值(如-Xms4g -Xmx4g),减少堆内存动态调整的开销。-XX:NewRatio(新生代与老年代比例,默认2)和-XX:SurvivorRatio(伊甸区与幸存区比例,默认8)调整,例如-XX:NewRatio=3 -XX:SurvivorRatio=8(新生代占堆的1/4,伊甸区占新生代的8/10)。-XX:+UseG1GC启用,并设置-XX:MaxGCPauseMillis=200(目标最大GC停顿时间,单位毫秒)以控制GC影响。-XX:+TieredCompilation启用(JDK 8+默认开启),进一步提升编译效率。构建工具优化
org.gradle.parallel=true(在gradle.properties中设置)或命令行./gradlew build -Dorg.gradle.parallel=true启用;Maven通过-T 1C(根据CPU核心数自动设置线程数)参数启用(如mvn clean install -T 1C)。ccache(编译缓存工具)缓存编译结果,进一步提升重复编译速度(安装:sudo apt install ccache,配置:将export CCACHE_DIR=/path/to/cache添加到~/.bashrc)。<optional>true</optional>标记非必需依赖,Gradle中通过compileOnly配置替代implementation。代码层面优化
String str = new String("hello")),改用StringBuilder(如StringBuilder sb = new StringBuilder(); sb.append("hello");)减少内存分配和GC压力。ArrayList用于频繁读取、LinkedList用于频繁插入删除,HashMap用于快速查找),并采用时间复杂度低的算法(如快速排序替代冒泡排序),降低CPU消耗。Executors.newFixedThreadPool(n),n为CPU核心数)避免线程过多导致的上下文切换开销;使用java.util.concurrent包下的并发工具(如ConcurrentHashMap、CountDownLatch)替代synchronized关键字,减少锁竞争。监控与分析工具
jvisualvm命令启动)、JConsole(JDK自带,jconsole命令启动)实时监控JVM内存使用、线程状态、GC情况,快速定位性能瓶颈(如内存泄漏、频繁Full GC)。-Xloggc:/path/to/gc.log(记录GC日志)和-XX:+PrintGCDetails(打印GC详情)参数开启GC日志,使用gceasy.io等在线工具分析GC日志,找出GC频繁的原因(如新生代过小、老年代回收慢),针对性调整JVM参数。