1. 程式人生 > >【Java】幾種典型的記憶體溢位案例,全在這兒了!

【Java】幾種典型的記憶體溢位案例,全在這兒了!

## 寫在前面 > 作為程式設計師,多多少少都會遇到一些記憶體溢位的場景,如果你還沒遇到,說明你工作的年限可能比較短,或者你根本就是個假程式設計師!哈哈,開個玩笑。今天,我們就以Java程式碼的方式來列舉幾個典型的記憶體溢位案例,希望大家在日常工作中,儘量避免寫這些low水平的程式碼。 ## 定義主類結構 首先,我們建立一個名稱為BlowUpJVM的類,之後所有的案例實驗都是基於這個類進行。如下所示。 ```java public class BlowUpJVM { } ``` ## 棧深度溢位 ```java public static void testStackOverFlow(){ BlowUpJVM.testStackOverFlow(); } ``` 棧不斷遞迴,而且沒有處理,所以虛擬機器棧就不斷深入不斷深入,棧深度就這樣溢位了。 ## 永久代記憶體溢位 ```java public static void testPergemOutOfMemory1(){ //方法一失敗