JVM标配、X和XX参数

大厂面试题:

1、JVM垃圾回收时候如何确定垃圾?是否知道什么是GC Roots

2、你说你做过JVM参数调优和参数配置,请问如何盘点查看JVM系统默认值

3、你平时工作中用过的JVM常用基本配置参数有哪些?

4、强引用、软引用、弱引用、虚引用费别是什么?

5、请你谈谈对OOM的认识

6、GC垃圾回收算法与垃圾收集器的关系?分别是什么请你谈谈?

7、 怎么查看服务器默认的垃圾回收器是哪一个?

生产上如何配置垃圾收集器的?

谈谈你对垃圾收集器的理解?

8、G1垃圾收集器

9、生产环境服务器变慢,诊断思路和性能评估谈谈?

10、假如生产环境CPU占用过高,请谈谈你的分析思路和定位。

11、对于JDK自带的监控和性能分析工具用过哪些?一般你怎么用的?

2、JVM的参数类型

(1)标配参数

java -version

java -help

java -showversion

在JDK各个版本之间稳定,很少有大的变化。

(2)X参数(了解)

-Xint      解释执行

    

-Xcomp 第一次使用就编译成本地代码(先编译)

-Xmixed 混合模式(先编译后执行)

    

(3)XX参数

【1】Boolean类型XX参数

公式:-XX:+ 或者-XX:- 某个属性值(+表示开启,-表示关闭)

案例:

1)是否打印GC收集细节

-XX:+PrintGCDetails

-XX:-PrintGCDetails

2)是否使用串行垃圾收集器

-XX:+UseSerialGC

-XX:-UserSerialGC

代码验证:

    没有配置任何JVM -XX:+某个属性值

启动main方法

在Terminal使用JDK工具查看是否配置JVM参数

jps -l 表示查看java运行的进程号

jinfo -flag PrintGCDetails 表示查看JVM是否配置PrintGCDetails参数

-XX:-PrintGCDetails 中减号表示没有配置PrintGCDetails参数

配置JVM -XX:+PrintGCDetails参数

重新启动main方法

重新在Terminal使用JDK工具查看是否配置JVM参数

jps -l 表示查看java运行的进程号

jinfo -flag PrintGCDetails 表示查看JVM是否配置PrintGCDetails参数

-XX:+PrintGCDetails 中加号表示配置了PrintGCDetails参数

【2】KV设值类型

公式:-XX: key(属性)= value(属性值)

           案例:

查看-XX:MetaspaceSize=默认值大小

-XX:MetaspaceSize=21807104(大约22MB)

添加-XX:MetaspaceSize=1024m参数

查看-XX:MetaspaceSize=人工设置值大小

-XX:MetaspaceSize=1073741824(1024MB)

查看-XX:MaxTenuringThreshold=默认值大小

-XX:MaxTenuringThreshold=15表示年轻代对象年龄达到15岁就会进入老年代

【3】jinfo查看当前运行程序配置

         公式:jinfo -flag 配置项 进程号

         案例:

查看JVM所有配置项(默认+人工配置)

jinfo -flags 进程号

Non-default VM flags表示JVM默认参数

Command line表示人工配置参数

人工配置的JVM参数

【4】如何解释-Xms和-Xmx参数属于XX参数

-Xms和-Xmx两个经典参数看起既不像Boolean类型XX参数,也不像KV设值类型XX参数。那为什么-Xms和-Xmx又属于XX参数?

       -Xms = -XX:InitialHeapSize

       -Xmx = -XX:MaxHeapSize

2、盘点家底JVM默认值

(1)第一种查看JVM默认值方式

jinfo -flag 参数项 进程号

jinfo -flags 进程号

(2)第二种查看JVM默认值方式

       公式:java -XX:+PrintFlagsInitial(查看jvm未更改的默认参数)

公式:java -XX:+PrintFlagsFinal(查看jvm已经更改过的参数)

:=表示jvm启动时候默认修改或者人工更改过的参数

=表示jvm没有更改过的默认参数

uintx InitialHeapSize                          := 266338304                           {product} 默认为操作系统64/1内存(我本机内存为16G)

本机内存:

(3)-XX:+PrintFlagsFinal举例

运行java命令的同时打印jvm参数

java -XX:+PrintFlagsFinal UpdateJVMParamDemo

(4)-XX:+PrintCommanLineFlags打印命令行参数

JVM标配、X和XX参数相关推荐

  1. 【JVM】JVM 调优之 -XX 参数

    1.概述 1.1 查看初始参数 (base) lcc@lcc ~$ java -XX:+PrintCommandLineFlags -version -XX:InitialHeapSize=13421 ...

  2. JVM底层原理之标配参数、X和XX参数

    一.JVM的参数类型 (1)标配参数(以-开头)    java -version java -help java -showversion 在JDK各个版本之间稳定,很少有大的变化.   [标准VM ...

  3. JVM之XX参数详解

    JVM的XX参数详解 目录 标准参数 X参数(了解) XX参数(重点) -Xms,-Xmx是X参数还是XX参数,如何解释? 1. 标准参数 指每个版本都不会大发生改变的参数 测试命令: 2. X参数( ...

  4. JVM实用参数(三)打印所有XX参数及值

    原文地址:https://blog.codecentric.de/en/2012/07/useful-jvm-flags-part-3-printing-all-xx-flags-and-their- ...

  5. JVM运行参数之-X和-XX参数

    -X参数 JVM的-X参数是非标准参数,在不同版本的jvm中,参数可能会有所不同,可以通过java -X查看非标准参数. C:\Users\zjq>java -X-Xmixed 混合模式执行 ( ...

  6. 第9课:jvm的gc时候核心参数详解:-XX:NewRatio、-XX:SurvivorRatio、-XX:NewSize、-XX:MaxNewSize

    内容: 1.-XX:NewRatio     2.-XX:SurvivorRatio     3.-XX:NewSize和-XX:MaxNewSize 一.JVM内存结构图 二.参数详解 1.-xx: ...

  7. JVM调优:运行参数,内存模型,mat、jps、jstat、jmap、jstack、jvisualvm工具的使用

    JVM调优 - 工具篇 作者:张学亮 讲解内容 了解下我们为什么要学习JVM优化 掌握jvm的运行参数以及参数的设置 掌握jvm的内存模型(堆内存) 掌握jamp命令的使用以及通过MAT工具进行分析 ...

  8. JVM调优总结(十一)JVM 几个重要的参数

    <本文提供的设置仅仅是在高压力, 多CPU, 高内存环境下设置>  最近对JVM的参数重新看了下, 把应用的JVM参数调整了下.  几个重要的参数 -server -Xmx3g -Xms3 ...

  9. 一行命令获取当前JVM所有可设置的参数以及当前默认值

    2019独角兽企业重金招聘Python工程师标准>>> 一行命令获取当前JVM所有可设置的参数以及当前默认值 博客分类: java jvm 一行命令获取当前JVM所有可设置的参数以及 ...

  10. Java启动参数(-, -X, -XX参数)详解

    目录 Java启动参数分类 一.JVM标准参数(-) 获取方法: java -help 二.JVM非标准参数(-X) 获取方法: java -X 三.JVM非Stable参数(-XX) 获取方法:   ...

最新文章

  1. Java性能调优实践
  2. 垃圾收集简介 - GC参考手册
  3. 单片机中断机制对日常生活的启示_单片机原理部分课后习题解
  4. gvim e303 无法打开 “[未命名]“的交换文件,恢复将不可能
  5. 《音乐达人秀:Adobe Audition CC实战222例》——1.3 数字录音记录生活越来越便捷...
  6. WCF 部署在IIS上
  7. GlobeRanger优化航空RFID套件,并收到FAA适用性信函
  8. 2021-07-01事件绑定
  9. 维智WSDA系列伺服驱动器用户手册(MECHATROLINK-Ⅱ总线通信型)-R7
  10. C语言实现链栈的创建、入栈、出栈、取栈顶、遍历......等基本操作(小白版详解)
  11. java后台怎么解密md5,Java md5 密码加解密
  12. java学习总结之集合框架
  13. SQL学习之full outer join关键字
  14. 解决surface的幽灵触控
  15. IN和Like的使用
  16. python求绝对值_python中取绝对值简单方法总结
  17. 剧集分销模式不再吃香
  18. QT界面树形浏览与界面切换简单设计
  19. JavaScript第八课
  20. echarts地图插小红旗

热门文章

  1. html中播放m3u8文件
  2. 计算机网络资源的资源子网是什么,资源子网
  3. 溢出的文字如何省略号显示
  4. Ques核心思想——CSS Namespace
  5. Robust performance of virtual sensing methods for active noise control 翻译
  6. 在安装win7系统时如何不产生100M的系统保留分区
  7. 2022.08.24【R语言】|pheatmap外接函数调用时不能有NA/NaN/Inf(arg10)报错问题及解决方案
  8. m1电脑推荐使用Google Chrome浏览器
  9. 11个LOGO设计灵感网站推荐,帮你提高LOGO设计工作效率
  10. [词根词缀]dic/dign/divid/doc/dom由来及词源D故事