本实验的目的是讲解 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
如果你觉得自己学习效率低,缺乏正确的指导,可以加入资源丰富,学习氛围浓厚的技术圈一起学习交流吧!
[Java架构群]
群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的JAVA交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
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