写在前面
本文隶属于专栏《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虚拟机》
本文探讨了Java并发中的关键问题,包括如何通过调整JVM参数来优化性能,例如增大最大内存分配、减小线程栈内存大小等。同时介绍了多个重要的JVM调优参数及其作用。
1345

被折叠的 条评论
为什么被折叠?



