[[343690]]
作家 | 悟空哥
着手 | 悟空聊架构(ID:PassJava666)
本实验的标的是教训 JVM 的三大参数类型。在JVM调优顶用到的最多的 XX 参数,而如何去搜检和斥地 JVM 的 XX 参数亦然调优的基本功,本节以实验的格式教训 JVM 参数的搜检和斥地。但愿众人能有所启发。
《雪国》解读
标配参数
常见标配参数
最近,皇冠体育博彩平台邀请了多位知名体育明星代言,包括詹姆斯、梅西等,为平台注入了新的活力和激情。我们提供最专业的博彩攻略和技巧分享,让您在博彩游戏中尽情享受乐趣和收益。我们的平台安全稳定,操作简便,充值提款方便快捷,是您最佳的博彩选择。 -version,赢得JDK版块 -help,赢得匡助 -showverision,赢得JDK版块和匡助动手实验 1 - 搜检标配参数
北京赛车棋牌皇冠导航网实验措施:
搜检Java JDK 版块
java -version
实验 1-1
不错看到Java JDK 版块为1.8.0_131
搜检 Java 匡助文档java -help
实验 1-2
搜检版块和匡助文档
java -showversion
实验 1-3
X 参数
X 参数简介
咱们常用的javac众人皆知说念是把java代码编译成 class 文 Java 文献,那么 class 文献怎样去实施呢?这里用到了三个X参数来证明 class 文献怎样在虚构机内部跑起来的。
-Xint:平直证明实施 -Xcomp:先编译老腹地代码再实施 -XMixed:搀杂模式(既有编译实施也有证明实施)动手实验 2 - 搜检和设立X参数
搜检版块
java -version
在WebIDE的限度台窗话柄施Java -version 后,不错看到我的环境是搀杂模式实施java圭表的。
实验 2-1
修改编译模式为证明实施模式
java -Xint -version
在WebIDE的限度台窗话柄施敕令
实验 2-2
修改编译模式为只编译模式
java -Xcomp -version
实验 2-3
XX 参数
XX 参数简介
XX 参数有两种类型,一种是 Boolean 类型,另外一种是键值对类型。
Boolean 类型 公式:-XX:+某个属性 冒昧,-XX:-某个属性 +默示开启了这个属性,-默示关闭了这个属性。 案例:-XX:-PrintGCDetails,默示关闭了GC确定输出 key-value类型 公式:-XX:属性key=属性value 案例:-XX:属性metaspace=2000000,斥地Java元空间的值为2000000。动手实验 3 - 搜检参数是否开启
本实验主要教训如下践诺:搜检运行的 Java 圭表 PrintGCDetails 参数是否开启
编写一个一直运行的 Java 圭表 搜检该利用圭表的程度 id 搜检该程度的 GCDetail 参数是否开启在 WebIDE 上右键单击菜单,选拔 New File 创建新文献
New File
创建文献名为 demoXXparam.java
信任demoXXparam.java
在 WebIDE 上编写 demoXXparam.java
public class demoXXparam { public static void main(String[] args) throws InterruptedException { System.out.println("hello XX params"); Thread.sleep(Integer.MAX_VALUE); } }
在 WebIDE 的限度台窗口编译 demoXXparam.java 代码
javac demoXXparam.java
编译代码
编译之后,会在刻下文献夹产生咱们所编写的 demoXXparam 类的 demoXXparam.class 字节码文献
分娩Class文献
在 WebIDE 上运行 demoXXparam 代码
java demoXXparam
运行Java圭表
输出:
hello XX params
在 WebIDE 中新开一个限度台窗口
Terminal->New Terminal
开启新限度台窗口
搜检扫数的运行的java圭表,-l 默示打印出class文献的包名
jps -l
jps
发现demoXXparam程度的id为 518
搜检 demoXXparam 圭表是否开启了PrintGCDetails这个参数
PrintGCDetails: 在发生垃圾回收时打印内存回收日记,并在程度退出时输出刻下内存各区域分拨情况
jinfo -flag PrintGCDetails 518
jinfo
效果如下:
-XX:-PrintGCDetails
上头提到 -号默示关闭,是以刻下 demo 圭表莫得开启 PrintGCDetails参数。
动手实验 4 - 开启参数
在 WebIDE 限度台强制退出demoXXparam圭表ctrl + c然后清算屏幕
clear然后以参数 -XX:+PrintGCDetails 运行 demoXXparam 圭表
java -XX:+PrintGCDetails demoXXparam
实验 4
输出:
hello XX params
搜检demoXXparam程度的 id
程度 id
不错看到demoXXparam程度 id 为 1225
搜检 demoXXparam 的设立参数 PrintGCDetails
大开一个新的限度台窗口,实施以下敕令来搜检程度为 1225 的 PrintGCDetails参数是否开启
[扫码下载app,中过数字彩1千万以上的专家都在这儿!]
jinfo -flag PrintGCDetails 1225
PrintGCDetails 参数
不错看到PrintGCDetails是开启的,+号默示开启。
动手实验 5 - Key-Value 类型参数值
搜检元空间的值
jinfo -flag MetaspaceSize 526
MetaspaceSize 大小
由此不错得出元空间的大小为 21 M。
斥地元空间的值为 128 M
java -XX:MetaspaceSize=128m demoXXparam
搜检元空间的大小
jinfo -flag MetaspaceSize 1062
鼎新元空间大小
皇冠信用网地址
最常见的 -Xms 和 -Xmx 属于哪种参数?
-Xms参数代表-XX:InitialHeapSize ,开动化堆内存(默许只会用最大物理内存的64分1) -Xmx:参数代表-XX:MaxHeapSize ,大堆内存(默许只会用最大物理内存的4分1)起了一名,但依然属于XX参数。
动手实验 6 - 斥地 -XX:InitialHeapSize 和 -XX:MaxHeapSize 的值。
java -XX:InitialHeapSize=200m demoXXparam 冒昧 java -Xms200m demoXXparam
搜检 InitialHeapSize 参数的值,大小为 200 M。
斥地 InitialHeapSize
java -XX:MaxHeapSize=200M demoXXparam 冒昧 java -Xmx200m demoXXparam
搜检 MaxHeapSize 参数的值,大小为 200 M。
斥地 MaxHeapSize
膨胀:搜检 Java 圭表已斥地的扫数参数值
jinfo -flags <程度id>
mark
Non-Defalut VM flags 代表参数类型是JVM自带的参数。 Command line 代表是用户自界说的参数
如何搜检出厂斥地和自界说斥地的XX设立项动手实验
7 - 搜检出厂默许斥地的扫数XX设立项
java -XX:+PrintFlagsInitial -version
PrintFlagsInitial
动手实验 8 - 搜检 JVM 刻下扫数XX设立项
博彩平台注册送代金券java -XX:+PrintFlagsFinal -version
PrintFlagsFinal
咱们不错看到几个要津信息:
[Global flags]:全局参数,要是自界说修改了某个利用的参数,并不会修改全局参数比如之前咱们修改了MetaspaceSize为128m,但列表内部依然21m。
Global flags
:=:参数已被修改,如下图所示InitialHeapSize开动化堆内存参数已修改为264241152
追念如下:
出厂斥地和自界说参数斥地
动手实验 9 - 运行圭表时打印XX设立选项
java -XX:+PrintFlagsFinal -XX:+InitialHeapSize=150M demoXXparam
不错看到修改后的值为 157286400(150 M)
运行圭表时打印XX设立选项
皇冠体育娱乐城
动手实验 10 - 搜检 JVM 自动设立的冒昧用户手动斥地的XX选项(非利用圭表的)
java -XX:+PrintCommandLineFlags -version
会打印出如下参数:
JVM 自动设立的XX选项
实验追念
本节实验课学习了如何搜检基本参数、X参数、XX参数和斥地XX参数。以及用好jps和jinfo器具来搜检程度和斥地参数。
www.huangguantiyuvipsystem.vipJVM性能调优还有许多要讲的,一篇是讲不完的,我会分红几篇来为众人讲述,神志主要以小实验的格式来为众人教训。
本文转载自微信公众号「 悟空聊架构」,不错通过以下二维码体恤。转载本文请干系 悟空聊架构公众号。