【效能優化】納尼?記憶體又溢位了?!是時候總結一波了!!
阿新 • • 發佈:2020-11-06
## 寫在前面
> 相信小夥伴們在平時工作的過程中,或多或少都會遇到一個場景:記憶體溢位。如果你沒有遇到過這個場景,那就說明你是個假的程式設計師。哈哈,開個玩笑,平時工作過程中,我們確實會遇到這個問題。今天,我就將平時工作過程中遇到的記憶體溢位情況做個簡單的總結,以通俗易懂的程式碼案例的形式直觀的分享給大家。希望能夠為小夥伴們帶來實質性的幫助。
## 案例介紹
這裡,我將在平時工作過程中總結的記憶體溢位的情況,以程式碼案例的形式直觀的分享給大家,希望能夠為小夥伴們帶來實質性的幫助。
接下來,我們就以程式碼案例的形式來分析各種記憶體溢位的情況。
## 定義主類結構
首先,我們建立一個類叫做BlowUpJVM,所有的案例實驗都是基於這個類進行。
```java
public class BlowUpJVM {
}
```
## 棧深度溢位
```java
public static void testStackOverFlow(){
BlowUpJVM.testStackOverFlow();
}
```
棧不斷遞迴,而且沒有處理,所以虛擬機器棧就不斷深入不斷深入,棧深度就這樣溢位了。
## 永久代記憶體溢位
```java
public static void testPergemOutOfMemory1(){
//方法一失敗