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

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

时间2025-08-04 23:11:20分类IT科技浏览5463
导读:摘要: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
java数组是否有序(有序数组的平方-力扣(Java))