写在前面

本文隶属于专栏《100个问题搞定Java并发》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和文献引用请见100个问题搞定Java并发

解答

 几千个,具体的与计算机本身性能和 JVM 配置有关。
 比如可以使用-Xmx标志增加JVM的最大内存分配,可以使用-Xss标记减少每个线程栈分配的内存大小。

补充

JVM 常用调优参数

参数说明补充
-Xms 初始堆内存大小,默认物理内存64/1-Xms = -XX:InitialHeapSize
-Xmx 最大堆内存,默认物理内存4/1-Xmx = -XX:MaxHeapSize
-Xss 栈内存大小,设置单个线程栈大小,一般默认512~1024kb。单个线程栈大小跟操作系统和JDK版本都有关系-Xss = -XX:ThreadStackSize
-Xmn 年轻代大小
-XX:MetaspaceSize 元空间大小元空间本质跟永久代类似,都是对JVM规范中方法区的实现。不过元空间与永久代最大的区别在于:元空间并不在虚拟机中,而是使用本机内存。因此,元空间大小仅受本地内存限制。
-XX:+PrintGCDetails 打印GC详细日志信息
-XX:SurvivorRatio  幸存者比例设置
-XX:NewRatio 新生代比例设置
-XX:MaxTenuringThreshold 进入老年代阈值设置

关于 JVM 的详细内容请参考我的另一个专栏 《100个问题搞定Java虚拟机》

Q.E.D.


大数据开发工程师,精通 Spark,擅长 Java 和 Scala