1. 程式人生 > >Java HotSpot 虛擬機器選項 -X -XX 的含義

Java HotSpot 虛擬機器選項 -X -XX 的含義

1、JDK 7 及以前版本

官方文件對 -X、-XX的說明如下:
Options that begin with -X are non-standard (not guaranteed to be supported on all VM implementations), and are subject to change without notice in subsequent releases of the JDK.

以 -X 開頭的選項是非標準選項(不能保證被所有的 JVM 實現都支援),並且在 JDK 的後續版本中不需要通知就可以進行更改。

Options that are specified with -XX are not stable and are subject to change without notice.

以 -XX 指定的選項是不穩定的,並且會在沒有通知的情況下進行更改。

2、JDK 8 版本

相對於非標準選項,標準選項保證得到所有 Java 虛擬機器(JVM)的實現支援。它們用於常見的操作,如檢查 JRE 版本、設定類路徑、啟用詳細輸出等等。

-X:非標準選項

Non-standard options are general purpose options that are specific to the Java HotSpot Virtual Machine, so they are not guaranteed to be supported by all JVM implementations, and are subject to change. These options start with -X.

以 -X 開頭的這些選項是非標準選項,是特定於 Java HotSpot 虛擬機器的通用選項,不保證所有 JVM 的實現都支援它們,而且還會發生變化。

-X:非標準選項

Advanced options are not recommended for casual use. These are developer options used for tuning specific areas of the Java HotSpot Virtual Machine operation that often have specific system requirements and may require privileged access to system configuration parameters. They are also not guaranteed to be supported by all JVM implementations, and are subject to change. Advanced options start with -XX.

以 -XX 開頭的選項是高階選項,高階選項不建議隨意使用。這些是開發人員用於調優 Java HotSpot 虛擬機器操作的特定區域的選項,這些選項通常具有特定的系統需求,並且可能需要特權訪問系統配置引數。它們也不保證得到所有 JVM 的實現的支援,並且可能會發生變化。

具體的選項可以參看下面列的參考文章。

相關推薦

Java HotSpot 虛擬機器選項 -X -XX含義

1、JDK 7 及以前版本 官方文件對 -X、-XX的說明如下: Options that begin with -X are non-standard (not guaranteed to be supported on all VM implementa

認識 java JVM虛擬機器選項 Xms Xmx PermSize MaxPermSize 區別

原文連結 : http://technique-digest.iteye.com/blog/1123046 Eclipse崩潰,錯誤提示: MyEclipse has detected that less than 5% of the 64MB of Perm 

深入理解Java虛擬機器讀書筆記1----Java記憶體區域與HotSpot虛擬機器物件

一 Java記憶體區域與HotSpot虛擬機器物件 1 Java技術體系、JDK、JRE?     Java技術體系包括:         · Java程式設計語言;   

Java虛擬機器學習筆記(一):記憶體區域與HotSpot虛擬機器物件探祕

執行時資料區域 Java虛擬機器在執行Java程式的過程中會把它所管理的記憶體劃分為若干個不同的資料區域。這些區域都有各自的用途,以及建立和銷燬的時間,有的區域隨著虛擬機器程序的啟動而存在,有些區域則依賴使用者執行緒的啟動和結束而建立和銷燬。根據《Java虛擬機

java nio 和 jvm 虛擬機器引數的 XX:+DisableExplicitGC 的潛規則

有段時間應用總是出現jvm所管理的記憶體沒有發生溢位的情況,而是使用的直接記憶體區域發生溢位的行為。後來經過分析情況如下: 是由於應用中使用netty,netty 使用的nio 和 jvm 中的 XX:+DisableExplicitGC配置的衝突導致的, 具體經過:nio

HotSpot虛擬機器java堆中物件的分配、佈局和訪問

一.物件的建立 二.物件的記憶體佈局(一個物件在記憶體中是怎樣儲存的) 在HotSpot虛擬機器中,物件在記憶體中儲存的佈局可以分為3塊區域:物件頭、例項資料和對齊填充 HotSpot虛擬機器的物件頭包括兩部分資訊:第一部分是用於儲存物件自身的執行時資料,如雜湊碼、

深入理解Java虛擬機器讀書筆記(2): 深入理解HotSpot虛擬機器物件

深入理解Java虛擬機器讀書筆記(2): 深入理解HotSpot虛擬機器物件 為了理解虛擬機器中資料的細節,比如如何建立、如何佈局以及如何訪問,必須具體到某一虛擬機器和某一個記憶體區域。此處深入探討HotSpot虛擬機器在Java堆中物件分配、佈局和訪問的全過程。 一、物件的建立

Java記憶體區域與HotSpot虛擬機器物件

執行時資料區域 程式計數器(Program Counter Register) 程式計數器是一塊很小的記憶體空間,可以看做是當前執行緒所執行的位元組碼的行號指示器,儲存著當前執行的位元組碼指令,通過改變這裡的值來進行指令的呼叫。 在多執行緒中每個執

深入理解java虛擬機器HotSpot虛擬機器探祕

一、物件的建立 虛擬機器遇到一條new指令時,首先將去檢查這個指令的引數是否能在常量池中定位到一個類的符號引用,並且檢查這個符號引用代表的類是否已被載入、解析和初始化過。如果沒有,則先執行相應的類載

深入理解JAVA虛擬機器讀書筆記:HotSpot虛擬機器物件探祕

HotSpot虛擬機器物件探祕 1、物件的建立 虛擬機器遇到一條new指令時,首先將去檢查這個指令的引數是否能在常量池中定位這個類的符號引用,並且檢查這個符號引用代表的類是否已經被載入、解析和初始化過。如果沒有,那必須先執行響應的類載入過程。(類載入會在後面的章節給出)。

JDK1.8-Java虛擬機器執行時資料區域和HotSpot虛擬機器的記憶體模型

官方文件規定的執行時資料區域 官方文件中規定的執行時資料區一共就幾塊: PC計數器, 虛擬機器棧, 本地方法棧, 堆區,

【譯】Java SE 14 Hotspot 虛擬機器垃圾回收調優指南

原文連結:[HotSpot Virtual Machine Garbage Collection Tuning Guide](https://docs.oracle.com/en/java/javase/14/gctuning/introduction-garbage-collection-tuning.ht

深入理解HotSpot虛擬機器

一、物件建立過程 當虛擬機器遇到一條new 指令時,便會進行物件的建立過程。 建立物件的過程如下: 1.檢查常量池中有沒有這個類的符號引用,並且檢查這個符號引用代表的類有沒有被虛擬機器載入過。 如果沒有被載入過,則執行類載入過程,然後進入下一步; 如果已載入,則進入下一步。 2.根據方法

晚期(執行期)優化——HotSpot虛擬機器內的即時編譯器

文章目錄 一、直譯器與編譯器 1.1 直譯器與編譯器的優勢 1.2 C1與C2 1.3 混合模式、解釋模式、編譯模式 1.4 分層編譯 二、編譯物件與出發條件 2.1 熱點程式碼 2.2 熱點

HotSpot虛擬機器GC調優指南

原文:https://docs.oracle.com/javase/9/gctuning/JSGCT.pdf 1簡介 從桌面小程式applet到大型伺服器上的Web服務,有各種各樣的應用程式在使用Java平臺,標準版(Java SE)。為了支援這些不同種類的部署,Jav

JVM - HotSpot 的演算法實現(HotSpot 虛擬機器如何優化演算法實現)

前面文章中從理論上介紹了物件存活判定(這裡為可達性分析演算法)和垃圾收集演算法,而在HotSpot虛擬機器上實現這些演算法時,必須對演算法的執行效率有嚴格的考量,才能保證虛擬機器高效執行。 HotSpot虛擬機器在發生GC時所產生的問題以及解決這些問題的方案 問題提出一(時間): 1.

深入瞭解Java虛擬機器記憶體

在討論JVM記憶體區域分析之前,先來看一下Java程式具體執行的過程: Java 程式的執行過程:Java 原始碼檔案(.Java檔案)-> Java Compiler(Java編譯器)->Java 位元組碼檔案(.class檔案)->類載

垃圾收集器與記憶體分配策略——垃圾收集演算法與HotSpot虛擬機器演算法實現

垃圾收集演算法的具體實現涉及大量的程式細節,這裡只描述其演算法的基本思想和發展過程 一、常見的垃圾收集演算法對比如下 收集演算法 具體實現 優點 不足 標記-清除演算法 1、首先標記出所有需要回收的物件 2、標記完成之後,統一回

JVM記憶體模型(二)—— HotSpot虛擬機器分析

上一節我們講了Java虛擬機器的理論記憶體模型,同時我們也提到了,這些只是Java虛擬機器規範中的內容,如果我們要研究一個物件是如何建立、如何佈局等一系列細節問題的時候,我們就必須在具體的虛擬機器中分析,因為不同的虛擬機器的實現是不一樣的,下面我們就選最常用、最普遍的虛擬機器

JVM系列2:HotSpot虛擬機器物件

1.物件建立過程:   ①.類載入檢查:當java虛擬機器遇到一條new指令時,首先會去檢查該指令的引數能否在常量池中定位到這個類的符號引用,並且檢查這個符號引用代表的類是否已被載入、解析、初始化過,如果沒有,則必須先執行相應的類載入過程。 ②.分配記憶體:類載入檢查完成後,虛擬機器將為新物件分配記憶體