JVM的参数类型以及学习笔记

JVM参数类型

标配参数,x参数(了解),xx参数(重点)

 

标配参数

 x参数(了解)

指定JIT编译器的模式:-Xint,-Xcomp,-Xmixed
我们知道Java是一种解释型语言,但是随着JIT技术的进步,它能在运行时将Java的字节码编译成本地代码。以下是几个相关的选项:

-Xint表示禁用JIT,所有字节码都被解释执行,这个模式的速度最慢的。
-Xcomp表示所有字节码都首先被编译成本地代码,然后再执行。
-Xmixed,默认模式,让JIT根据程序运行的情况,有选择地将某些代码编译成本地代码。 
-Xcomp和-Xmixed到底谁的速度快,针对不同的程序可能有不同的结果,基本还是推荐用默认模式。
 

 xx参数(重点)

Boolean类型

公式: -XX:+或者- 某个属性值 

         +表示开启

         - 表示关闭

如: -XX:+UseConcMarkSweepGC
    -XX:+UseG1GC

 

KV设置类型

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

-Xms等价于 -XX:InitialHeapSize 初始化队列大小
-Xmx 等价于 -XX:MaxHeapSize 最大队列大小

jinfo举例,如何查看当前运行程序的配置

0:demo

package demo;

import java.util.concurrent.*;

import static java.lang.System.out;

public class ThreadPool {

    public static void main(String[] args) {
        ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(2,
                5,
                1l, TimeUnit.SECONDS,
                new LinkedBlockingQueue<>(3),
                Executors.defaultThreadFactory(),
                new ThreadPoolExecutor.AbortPolicy());
        try {
            for (int i = 1; i <=5 ; i++) {
                threadPoolExecutor.execute(()->{
                    out.println(Thread.currentThread().getName()+" 办理业务");
                });
            }
        }catch (Exception e){
            e.printStackTrace();
        }

    }

}

1:jps  -l  查询你需要查看的运行程序进程号

 2: jinfo  -flag PrintGCDetails 7652  查询程序单个配置

 减号表示没有开启打印GC细节这个参数

3:开启  PrintGCDetails

 

元空间初始值大小约21M


 4:jinfo -flags :查询程序所有JVM参数配置

 F:\softInstall\project\demo>jinfo  -flags  8268
Attaching to process ID 8268, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.191-b12
Non-default VM flags: -XX:CICompilerCount=3 -XX:InitialHeapSize=134217728 
-XX:MaxHeapSize=2126512128 -XX:MaxNewSize=708837376 -XX:MinHeapDeltaBytes=524288 
-XX:NewSize=44564480 -XX:OldSize=89653248 -XX:+PrintGCDetails 
-XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseFastUnorderedTimeStamps
 -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
Command line:  -XX:+PrintGCDetails -javaagent:F:\softInstall\IDEA2018\IntelliJ IDEA 2018.3.3\lib\idea_rt.jar=52333:F:\softInstall\IDEA2018\IntelliJ IDEA 2018.3.3\bin -Dfile.encoding=UTF-8

5:-XX:+PrintCommandLineFlags (重点)

   -XX:+PrintCommandLineFlags可以让在程序运行前打印出用户手动设置或者JVM自动设置的XX选项

 

-XX:InitialHeapSize=132899648 -XX:MaxHeapSize=2126394368 
-XX:+PrintCommandLineFlags -XX:+PrintGCDetails -XX:+UseCompressedClassPointers 
-XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC 

6:-XX:+PrintFlagsInitial: JVM 盘底查看默认初始值 (重点)

 

 7:-XX:+PrintFlagsFinal(重点)

 

=  表示默认值

:=  表示人为或者是机器修改后的值

-XX:InitialHeapSize=132899648 -XX:MaxHeapSize=2126394368 -XX:+PrintCommandLineFlags 
-XX:+PrintFlagsFinal -XX:+PrintGCDetails -XX:+UseCompressedClassPointers 
-XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值