JVM ----運行參數 系統參數 -xx參數 -x參數

前言

首先聊一下什麼是JVM, 我們爲什麼要去學習JVM

  • JVM Java虛擬機它是一個虛構出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能來實現的,
    引入Java語言虛擬機後,Java語言在不同平臺上運行時不需要重新編譯。Java語言使用Java虛擬機屏蔽了與具體平臺相關的信息,使得Java語言編譯程序只需生成在Java虛擬機上運行的目標代碼(字節碼),就可以在多種平臺上不加修改地運行。
  • 對於一個程序員來說學習JVM就是爲了讓程序跑的更快、更穩定

參數類型

標準參數, 也就是系統參數

例如: java -help java -version
這裏說一下 -server 和 -client 的區別

  • Server VM的初始堆空間會大一些,默認使用的是並行垃圾回收器,啓 動慢運行快。
  • Client VM相對來講會保守一些,初始堆空間會小一些,使用串行的垃圾回收器,它的目標是爲了讓JVM的啓動速度更快,但運行速度會比Serverm模式慢些。
  • 32 位操作系統. 默認採用Client類型的JVM
  • 64 位操作系統, 只有Server類型 不支持Client類型

-X參數

可通過 java ‐X 來查看所有的-X 參數
這裏說一下的區別 -Xint、-Xcomp、-Xmixed

  • -Xint 解釋模式 ,-Xint標記會強制JVM執行所有的字節碼,當然這
    會降低運行速度,通常低10倍或更多。
  • -Xcomp 編譯模式, 與它(-Xint)正好相反,JVM在第一次使用時會把所有的字節碼編譯成本地代碼,從而帶來最大程度的優化. 然而,很多應用在使用 -Xcomp也會有一些性能損失,當然這比使用-Xint損失的少,原因是-xcomp沒有讓JVM啓用JIT編譯器的全部功能。JIT編譯器可以對是否需要編譯做判斷,如果所有代碼都進行編譯的話,對於一些只執行一次的代碼就沒有意義了。
  • -Xmixed 混合模式, 將解釋模式與編譯模式進行混合使用,由jvm自己決定,這是jvm默認的模式,也是推薦使用的模式。

-XX參數

-XX參數的使用有2種方式,一種是boolean類型,一種是非boolean類型

  • -boolean類型 -XX[+] 表示true -XX[-] 表示false 例如: -XX:+DisableExplicitGC 表示禁用手動調用gc操作, 也就是說程序員調用System.gc()無效
  • 非boolean類型 -XX:NewRatio=2 表示新生代和老年代比值爲 1:2

-Xms與-Xmx參數

  • -Xms與-Xmx分別是設置jvm的堆內存的初始大小和最大大小。
  • -Xmx2048m:等價於-XX:MaxHeapSize,設置JVM最大堆內存爲2048M。
  • -Xms512m:等價於-XX:InitialHeapSize,設置JVM初始堆內存爲512M。
  • 適當的調整jvm的內存大小,可以充分利用服務器資源,讓程序跑的更快。

總結

JVM常用的運行參數先介紹這些, 也算是一個基礎的入門, 後繼還會介紹JVM的內存模型和如何調優

舉頭望明月,低頭寫總結! 沒錯

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章