JVM参数类型介绍

JVM参数类型

1.标配参数

2.X参数

3.XX参数

4.简单参数调优

不足溢出,无释放泄露


JVM参数类型

1.标配参数

1)java -version

2)java -help

2.X参数

1)-Xint 解释执行

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

3)-Xmixed 混合模式   主要使用

        当JIT编译启用时(默认是启用的),JVM读入.class文件解释后,将其发给JIT编译器。

JIT编译器将字节码编译成本机机器代码。 通常javac将程序源码编译,转换成java字节码,JVM通过解释字节码将其翻译成相应的机器指令,逐条读入,逐条解释翻译。

非常显然,经过解释运行,其运行速度必定会比可运行的二进制字节码程序慢。为了提高运行速度,引入了JIT技术。 在执行时JIT会把翻译过的机器码保存起来,已备下次使用,因此从理论上来说,采用该JIT技术,能够接近纯编译技术。

3.XX参数

1)boolean类型

公式:-XX:+或者-某个属性值 打印GC处理日志(PrintGCDetails)

+ 表示开启

- 表示关闭

2)kv设值类型

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

-XX:MaxTenuringThreshold=30 默认的活过15岁进入养老区的参数设置

3)参数查看命令

-XX:+PrintFlagsInitial : 查看默认参数设置

-XX:+PrintFlagsFinal : 最终的参数设置

4)jps命令 :

jps -l 得到进程号

jinfo:正在运行Java的信息

jinfo -flag PrintGCDetails 进程号:代表的意思是查看某个Java进程关于打印垃圾回收的机制

java -XX:+PrintCommandLineFlags -version 可以查看垃圾回收器

5)-Xms -Xmx 如何解释这两个参数

-Xms:-XX:InitialHeapSize

-Xmx:-XX:MaxHeapSize

6)自动触发垃圾回收(Java代码中)
Runtime.getRuntime().totalMemory()
Runtime.getRuntime().maxMemory()    

4.简单参数调优

-Xms设置初始分配大小,默认为物理内存的 1/64
-Xmx最大分配内存,默认为物理内存的 1/4
-XX:+PrintGCDetails输出详细的GC处理日志

EXP:-Xmx1024m -Xms1024m -XX:+PrintGCDetails

String str = "hello";
while(true){
  str += str + new Random().nextInt(88888888);
}

JVM在GC 的时候,并非每次都对上面三个内存一起回收,大部分回收的指的是新生代。

按照回收区域分为两种:普通GC(Minor GC)(新生代)和全局GC(Major GC)(老年代)

= 和:=的区别

1. `=`:`=`用于指定JVM参数的值,如`-Xmx=512m`表示将最大堆内存设置为512MB。`=`是通用的赋值符号,用于给变量赋值,表示将右侧的值赋给左侧的变量。

2. `:=`:`:=`是Shell语言或命令行工具中的符号,不是JVM参数语法中使用的。在Shell中,`:=`是用于定义和赋值变量的符号。例如,`VAR:=value`表示将`value`赋给`VAR`变量。

所以,在JVM参数类型中,并没有使用`:=`这个符号,只有`=`用于赋值。

不足溢出,无释放泄露

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值