首页IT科技jvm参数 onthrow(JVM参数:带你认识-X和-XX参数)

jvm参数 onthrow(JVM参数:带你认识-X和-XX参数)

时间2025-06-20 11:28:04分类IT科技浏览5104
导读:摘要:JVM参数分为三类:标准参数、非标准参数(-X参数)和高级选项(-XX参数)。本文主要为大家讲解-X参数和-XX参数。...

摘要:JVM参数分为三类:标准参数            、非标准参数(-X参数)和高级选项(-XX参数)              。本文主要为大家讲解-X参数和-XX参数                  。

本文分享自华为云社区《JVM运行参数之-X和-XX参数》            ,作者:共饮一杯无       。

JVM参数分为三类:标准参数                    、非标准参数(-X参数)和高级选项(-XX参数)           。本文主要为大家讲解-X参数和-XX参数                   。

-X参数

JVM的-X参数是非标准参数                    ,在不同版本的jvm中      ,参数可能会有所不同         ,可以通过java -X查看非标准参数         。

运行模式-Xint      、-Xcomp         、-Xmixed

在解释模式(interpreted mode)下                    ,-Xint标记会强制JVM执行所有的字节码          ,当然这会降低运行速度      ,通常低10倍或更多       。 -Xcomp参数与它(-Xint)正好相反                   ,JVM在第一次使用时会把所有的字节码编译成本地代码              ,从而带来最大程度的优化                    。 然而   ,很多应用在使用-Xcomp也会有一些性能损失                  ,当然这比使用-Xint损失的少                 ,原因是-xcomp没有让JVM启用JIT编译器的全部功能            。JIT编译器可以对是否需要编译做判断,如果所有代码都进行编译的话               ,对于一些只执行一次的代码就没有意义了   。 -Xmixed是混合模式                    ,将解释模式与编译模式进行混合使用   ,由jvm自己决定            ,这是jvm默认的模式                    ,也是推荐使用的模式                    。

示例:强制设置运行模式

#强制设置为解释模式 E:\jvm>java -showversion -Xint TestJVM java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, interpreted mode) zjqzjq #强制设置为编译模式 E:\jvm>java -showversion -Xcomp TestJVM java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, compiled mode) zjqzjq #默认的混合模式 E:\jvm>java -showversion TestJVM java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode) zjqzjq

-XX参数

-XX参数也是非标准参数      ,主要用于JVM的调优和debug操作               。

-XX参数的使用有2种方式         ,一种是boolean类型                    ,一种是非boolean类型: boolean类型

格式:-XX:[±]

如:-XX:+DisableExplicitGC 表示禁用手动调用gc操作          ,也就是说调用System.gc()无效 非boolean类型

格式:-XX:

如:-XX:NewRatio=2 表示新生代和老年代的比值      ,表示新生代占1                   ,老年代占2。则新生代占整个堆的1/3                 。

用法:

E:\jvm>java -showversion -XX:+DisableExplicitGC TestJVM java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode) zjqzjq

-Xms与-Xmx参数(设置jvm的堆内存的初始大小和最大大小)

-Xms与-Xmx分别是设置jvm的堆内存的初始大小和最大大小                  。

-Xmx2048m:等价于-XX:MaxHeapSize              ,设置JVM最大堆内存为2048M   。

-Xms512m:等价于-XX:InitialHeapSize   ,设置JVM初始堆内存为512M              。 适当的调整jvm的内存大小                  ,可以充分利用服务器资源                 ,让程序跑的更快                  。示例:
E:\jvm>java -Xms512m -Xmx2048m TestJVM zjqzjq

点击关注,第一时间了解华为云新鲜技术~

声明:本站所有文章               ,如无特殊说明或标注                    ,均为本站原创发布      。任何个人或组织   ,在未征得本站同意时            ,禁止复制                    、盗用          、采集      、发布本站内容到任何网站                   、书籍等各类媒体平台           。如若本站内容侵犯了原著者的合法权益                    ,可联系我们进行处理                   。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
seo关键词推广哪个平台好(掌握SEO关键词推广优化,让你的网站腾飞)