在 Java 中增加堆空間
在 Java 中,堆空間主要用於垃圾收集和為物件分配記憶體。
在我們的機器上安裝 JVM 時會分配一個預設的堆空間,但它可能會有所不同。以下幾點展示了我們如何在 Java 中使用兩種方法來增加堆大小。
使用命令列增加 Java 堆大小
在 Java 中增加堆大小的第一種方法是使用命令列執行覆蓋預設 Java 堆空間的命令。我們遵循以下兩個步驟。
第 1 步:檢查 Java 中的預設最大堆大小
在我們更改 Java 中的堆大小之前,我們必須知道分配給 JVM 的預設最大堆大小。為此,我們使用程式碼 Runtime.getRuntime().maxMemory()
返回最大堆大小(以位元組為單位)。
在程式中,我們以位元組為單位獲得最大堆空間,並將其轉換為更易讀的格式,如兆位元組或千兆位元組。輸出顯示我們當前的預設大小約為 1.48 GB。
我們執行此步驟是為了不分配小於堆預設大小的大小。
public class JavaExample {
public static void main(String[] args) {
double maxHeapSize = Runtime.getRuntime().maxMemory();
String sizeInReadableForm;
double kbSize = maxHeapSize / 1024;
double mbSize = kbSize / 1024;
double gbSize = mbSize / 1024;
if (gbSize > 0) {
sizeInReadableForm = gbSize + " GB";
} else if (mbSize > 0) {
sizeInReadableForm = mbSize + " MB";
} else {
sizeInReadableForm = kbSize + " KB";
}
System.out.println("Maximum Heap Size: " + sizeInReadableForm);
}
}
輸出:
Maximum Heap Size: 1.48046875 GB
步驟 2:使用命令列設定最大堆大小
現在我們知道了最大 Java 堆空間,我們使用命令列來增加它。
為了獲得我們可以用來修改堆大小的命令,我們開啟命令列並使用命令 java -X
返回一個完整的命令列表,但我們只對以下兩個命令感興趣。
命令 -Xms
設定初始和最小堆大小,而 -Xms
設定最大大小;我們需要使用第二個命令。
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
在命令列中,我們編寫以下命令來執行我們在第一步中看到的程式。
我們使用 -Xmx2g
將堆大小增加 2GB。請注意,我們將儲存單元寫為單個字元;例如,如果我們想設定一個 2GB 的堆大小,我們寫 2g。
輸出顯示大約 1.4GB 的預設大小現在修改為 2.0GB。
java -Xmx2g JavaExample
輸出:
Maximum Heap Size: 2.0 GB
在整合開發環境 (IDE) 中增加 Java 堆大小
如果我們執行程式,我們還可以在 IDE 中增加 Java 堆空間。儘管某些 IDE 可能有不同的步驟來執行任務,但如果我們遵循這些步驟,我們可以在大多數 IDE 中修改堆大小。
-
我們在選單欄中找到
執行
選單項。 -
在
執行
選單項中,我們必須開啟一個名為執行配置
或編輯配置
的選項。 -
將開啟一個對話方塊,顯示有關我們要使用配置執行的應用程式的詳細資訊。
將有兩個輸入框:一個用於程式引數,第二個用於 VM 引數。如果沒有 VM 引數的輸入框,我們可以使用
Modify Options
按鈕新增它們。 -
在 VM 引數的輸入框中,我們編寫以下命令來執行增加堆大小的程式。
-Xmx2g
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn