Scala下设置JVM参数简单分析

本文分析了Scala中设置JVM参数的规则,包括如何通过JAVA_OPTS环境变量和Scala命令行选项(-D和-J)来调整参数。指出JVM重复参数后声明的会覆盖之前的设定,并举例说明了如何解决Scala REPL因内存不足引发的错误,建议通过增加-Xmx和-Xms值来增大堆内存。还提到可以通过二分法找到Scala REPL启动所需的最小堆内存值,实验显示大约为25M。
摘要由CSDN通过智能技术生成

Scala 启动shell脚本,简化后的scala REPL 启动命令大致如下所示:

java -Xmx256M -Xms32M \
-Xbootclasspath/a:jline.jar:scala-compiler.jar:scala-library.jar:scalap.jar \
-Dscala.usejavacp=true -Dscala.home=/home/itang/dev-env/typesafe-stack \
-Denv.emacs= \
scala.tools.nsc.MainGenericRunner scala.tools.nsc.CompileServer


经过简单分析得出:
1 Scala命令设置JVM参数的规则:

scala对JVM参数设定分两部分:

A 获取环境变量JAVA_OPTS,如果未设定则默认为:-Xmx256M -Xms32M
B Scala命令参数以-D和-J打头的部分

-D像Java一样,用于设定全局变量值
-J打头的后面的部分会提取为JVM参数, 如:
scala -J-Xmx512m -J-server 相当于java -Xms512 -server


2 JVM 重复的参数设定后声明的会覆盖之前的:
如:

$ export JAVA_OPTS="-Xmx256M -Xms32M"
$ scala -J-Xmx512M


此时,最大堆内存大小为512M

有时默认的Scala设置不满足要求, 如在Scala REPL里测试大量数据:

val lar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值