在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
JVM可以算是初级程序员进阶高级程序员必须要掌握的核心技能之一。另外,在许多面试过程中,JVM也是检验Java程序员能力水平的试金石。今天我们不谈Java底层实现的原理,而是为大家整理汇总了一些常见的JVM 配置参数,希望对大家编写代码有所帮助。

1.-Xms
初始堆大小。只要启动,就占用的堆大小。
2.-Xmx
最大堆大小。java.lang.OutOfMemoryError:Java heap这个错误可以通过配置-Xms和-Xmx参数来设置。
3.-Xss
栈大小分配。栈是每个线程私有的区域,通常只有几百K大小,决定了函数调用的深度,而局部变量、参数都分配到栈上。当出现大量局部变量,递归时,会发生栈空间OOM(java.lang.StackOverflowError)之类的错误。
4.XXNewSize
设置新生代大小的绝对值。
5.-XX:NewRatio
设置年轻代和年老代的比值。比如设置为3,则新生代:老年代=1:3,新生代占总heap的1/4。
6.-XX:MaxPermSize
设置持久代大小。java.lang.OutOfMemoryError:PermGenspace这个OOM错误需要合理调大PermSize和MaxPermSize大小。
7.-XX:SurvivorRatio
年轻代中Eden区与两个Survivor区的比值。注意,Survivor区有form和to两个。比如设置为8时,那么eden:form:to=8:1:1。
8.-XX:HeapDumpOnOutOfMemoryError
发生OOM时转储堆到文件,这是一个非常好的诊断方法。
9.-XX:HeapDumpPath
导出堆的转储文件路径。
10.-XX:OnOutOfMemoryError
OOM时,执行一个脚本,比如发送邮件报警,重启程序。后面跟着一个脚本的路径。
以上就是程序员常用的JVM 配置参数的所有汇总。大家想要深入学习JVM并掌握JVM虚拟机底层原理,可以在博学谷平台进行相关免费视频课程的在线学习。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java基础语法之多线程学习笔记整理
众所周知,利用好多线程机制,可以大大提高系统整体的并发能力以及性能,而且线程间的切换和调度的成本小。因此,多线程是Java学习者必须掌握的语法重点。本文为大家整理了进程和线程、实现多线程方式、设置和获取线程名称、线程优先级和线程控制等等多线程知识点笔记,有需要的朋友一起来学习吧!
6079
2019-12-09 14:33:59
为什么要使用Docher?Docher的优势分析
为什么要使用Docher?众所周知,Docher是一个开源的应用容器引擎,它的优势有资源利用更出色,秒级的启动速度,一致的运行环境,持续交付和部署,可以拓展和堆叠,便捷的自动迁移,更加低廉的成本以及自动化的管理等等。下面请看具体的优势分析:
6059
2020-02-20 15:19:40
线程基础知识Java并发编程
线程基础知识Java并发编程,进程和线程是操作系统内两个很基的概念,进程是操作系统中进行保护和资源分配的基本单位,操作系统分配资源以进程为基本单位。而线程是进程的组成部分代表了一条顺序的执行流。
5160
2020-04-10 14:46:44
Java学到什么程度算入门?考核标准
不少学员学习Java时不知道自己处在什么水平,无法查漏补缺,如果有一个不同阶段的考核,那么就可以清楚的知道自己所处的阶段。
5800
2020-09-28 15:37:29
这样的Java自学姿势 学废最快
学习Java人数最多。原因是?自然是Java长久占据界编程语言排行榜中榜首,且众多互联网一线大厂如阿里、京东、美团、滴滴等都在使用Java架构。世间的一切,终究逃不过一个“钱”字。
4695
2021-03-05 11:27:54
