今天突然想起有道笔记有很多记录(都是18、19年)的笔记。准备从里面搬出来几个,扩充一下随笔数。O(∩_∩)O哈哈~
此文章是,自己的有道笔记,欢迎大佬斧正
jvm参数分类:
1.标准参数
功能和输出的参数都是很稳定的 在未来的JVM版本中不会改变 可以使用java -help检索出所有的标准参数
2.X参数
非标准化参数 在未来的版本可能会改变 所有的参数都用-X开始 可以使用java -X检索 但是注意没有-Xcomp
3.XX参数 (boolean和非boolean)
非标准 很长一段时间不会列出来 用于JVM开发的debug和调优
jvm的-Server和-Client模式区别:
1.-Server模式启动慢,运行快。(64位系统)
2.-Client模式启动快,运行慢。
jvm的模式类型:
1.解释模式(-Xint),-Xint标记会强制JVM执行所有的字节码,会降低速度。通常降低10倍。
2.-Xcomp参数,JVM在第一次使用时,会将所有字节码编译成本地代码,从而减少最大程度的优化。
然而,在很多应用在使用-Xcomp也会有一些性能损失。比如有有些代码,只需要执行一次,使用这个模式就没有意义。
3.-Xmixed(混合模式),将解释模式和编译模式进行混合使用,由jvm自己决定,jvm的默认模式。
-XX参数:
-XX参数的使用有2种方式,一种boolean类型,一种非boolean类型。
boolean类型:
格式:-XX:[+ -]
非boolean类型:
格式:-XX:
-Xms与-Xmx参数:
-Xms与-Xmx分别是设置jvm的堆内存的初始大小和最大大小。
-Xmx2048m(2G):等价于 -XX:MaxHeapSize,设置jvm最大堆内存为2048M。
-Xms512m:等价于 -XX:InitiallHeapSize,设置jvm初始堆内存512M。
查看所有的参数,用法: jinfo -flags <进程id>
查看某一参数的值,用法:jinfo -flag <参数名> <进程id>