想在Ubuntu下调整Ja va编译参数?这事儿说难不难,核心就两步:要么改环境变量一劳永逸,要么每次编译时手动指定。下面把两种常用方法拆开聊聊,顺便提几个容易踩的坑。

方法一:通过环境变量配置
打开终端。
编辑
~/.bashrc(或者~/.profile,取决于你的系统习惯):nano ~/.bashrc在文件末尾追加下面这行,意思就是给 ja vac 背后的 JVM 传递默认参数:
export JA VA_OPTS="-J-XX:MaxPermSize=256m -J-XX:+UseConcMarkSweepGC"这里
-J-XX:MaxPermSize=256m把永久代上限拉到 256MB,-J-XX:+UseConcMarkSweepGC则启用了 CMS 垃圾回收器。当然,完全可以根据项目需要换成其他参数。保存退出后,让修改立即生效:
source ~/.bashrc
方法二:在命令行中指定参数
如果你只想临时调一次,直接在编译命令里带上 -J 开关就行。举个例子:
ja vac -J-XX:MaxPermSize=256m -J-XX:+UseConcMarkSweepGC YourJa vaFile.ja va
-J 这个前缀把后面的内容原封不动传给 JVM,所以所有合法的 JVM 参数都能这么用,灵活得很。
注意事项
- 如果是团队项目,或者用了 Ma ven、Gradle 这类构建工具,更建议把编译参数写进构建配置文件里。这样所有人都能统一环境,避免“我这能跑你那就崩”的尴尬。
- 务必确认你用的 Ja va 版本支持这些参数。比如
-XX:MaxPermSize在 Ja va 8 以后就被-XX:MaxMetaspaceSize取代了,继续用老参数只会被 JVM 默默忽略甚至报错。