java面試-JVM調優和參數配置,如何查看JVM系統參數默認值


一、JVM的參數類型:

1、標配參數:

java -version  
java -help

2、X參數:

-Xmixed 混合模式(先編譯后執行)

-Xint  解釋執行

-Xcomp 第一次使用就編譯成本地代碼

 

3、XX參數

  • Boolean類型:公式:-XX:+ (+表示開啟 -表示關閉)

     問題:如何查看一個正在運行中的java程序,它的某個JVM參數是否開啟?

public class HelloGC {
    public static void main(String[] args) throws InterruptedException {
        System.out.println("*****helloGC");
        Thread.sleep(Integer.MAX_VALUE);
    }
}
jps -l  
jinfo -flag PrintGCDetails 10729
結果:-XX:+PrintGCDetails,表示開啟打印 GC 收集細節(默認不開啟) 
  • KV設值類型:公式:-XX:屬性key=屬性值value=
 jps -l
 jinfo -flag MetaspaceSize 6932  --若沒有配置參數,則查看系統參數默認值
 結果:-XX:MetaspaceSize=21807104
 jinfo -flag 配置項 進程編號
 jinfo -flags 進程編號 

 

二、如何查看JVM系統參數的默認值

java -XX:+PrintFlagsInitial  --查看出廠默認值
java -XX:+PrintFlagsFinal  --查看修改更新  (= 沒有修改過  := 人為修改過)
java -XX:+PrintFlagsFinal -XX:MetaspaceSize=512m   查看系統參數,並修改元空間大小 

 

java -XX:+PrintCommandLineFlags -version  --打印命令行參數(可以看默認垃圾回收器)  

結果:-XX:InitialHeapSize=134217728 -XX:MaxHeapSize=2147483648 -XX:+PrintCommandLineFlags
-XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode) 

 

三、兩個經典參數:-Xms1024m -Xmx1024m談談你的理解

-Xms等價於 -XX:initialHeapSize
-Xmx等價於 -XX:MaxHeapSize

  

  

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM