zoukankan      html  css  js  c++  java
  • JVM探秘:JVM的参数类型

    本系列笔记主要基于《深入理解Java虚拟机:JVM高级特性与最佳实践 第2版》,是这本书的读书笔记。

    JVM的参数类型,大致可以分为标准参数、X参数、XX参数,而XX参数又可以分为Boolean类型、非Boolean类型。

    标准参数

    标准参数就是各个JVM的版本中不变的,相对稳定的参数。
    例如:

    -help  
    -server  
    -client  
    -version  
    -showversion  
    -cp  
    -classpath
    

    X参数

    X参数是非标准化参数,也是相对不稳定的参数。
    例如:

    -Xint:解释执行
    -Xcomp:第一次使用就编译成本地代码
    -Xmixed:混合模式,JVM自己决定是否编译成本地代码
    

    如下图所示,默认是-Xmixed:

    image

    XX参数

    XX参同样是非标准化的参数,相对不稳定,主要用于JVM调优和Debug。

    XX参数分为Boolean类型和非Boolean类型。

    Boolean类型

    格式:-XX:[+-]<name> 表示启用或者禁用name属性。
    例如:

    -XX:+UseConcMarkSweepGC  
    -XX:+UseG1GC  
    

    非Boolean类型

    格式:-XX:<name>=<value> 表示name属性的值是value。
    例如:

    -XX:MaxGCPauseMillis=500  
    -XX:GCTimeRatio=19  
    

    还有一些特例参数,例如:

    -Xms
    -Xmx
    -Xss
    

    这三个参数虽然以X开头,但不是X参数,而是XX参数。

    -Xms 等价于-XX:InitialHeapSize,设置初始化堆大小。
    -Xmx 等价于-XX:MaxHeapSize,设置堆最大大小。
    -Xss 等价于-XX:ThreadStackSize,设置线程虚拟机栈的大小。

    如下图所示,使用jinfo命令,指定pid,可以查看着三个参数的默认大小。

    image

  • 相关阅读:
    python 协程
    python 进程池的使用
    python 多进程数据交互及共享
    python 多进程
    技术博客与技术日记
    理解闭包
    jWriter一个基于jQuery的阅读写作网站的效果库
    ubuntu下phpmyadmin配置问题解决
    避免明文保存用户密码
    如何用css实现类似简书的纵向导航/竖排导航
  • 原文地址:https://www.cnblogs.com/cellei/p/12158994.html
Copyright © 2011-2022 走看看