一、總結 1.棧記憶體中主要存儲的是方法體中的局部變數 2.對象內部有實例變數,實例變數存儲在堆記憶體中 3.變數分類:局部變數(方法體中聲明);成員變數(方法體外聲明) 實例變數(前邊修飾符沒有static)靜態變數(前邊的修飾符中有static) 4.靜態變數存儲在方法區記憶體中。 5.三塊記憶體中變化 ...
一、總結
1.棧記憶體中主要存儲的是方法體中的局部變數
2.對象內部有實例變數,實例變數存儲在堆記憶體中
3.變數分類:局部變數(方法體中聲明);成員變數(方法體外聲明)
實例變數(前邊修飾符沒有static)靜態變數(前邊的修飾符中有static)
4.靜態變數存儲在方法區記憶體中。
5.三塊記憶體中變化量最頻繁的棧記憶體,垃圾回收期主要針對的是堆記憶體
6.垃圾回收器(自動回收機制、GC機制)什麼時候會考慮將某個java對象的記憶體回收呢?
(1)當堆記憶體中java對象成為垃圾數據的時候,會被垃圾回收器回收
(2)什麼時候堆記憶體中的java對象會變成垃圾呢?
i.沒有更多的引用指向它的時候;ii.這個對象無法被訪問,因為訪問對象只能通過引用的方式進行訪問。
二、空指針異常
1.以下程式是可以編譯通過的,因為它符合語法,但是運行時會出現空指針異常:java.lang.NullPointerException。空引用訪問“實例”相關的數據一定會出現空指針異常
Student s = new Student(); System.out.println(s.age); s = null; //以上程式是可以編譯通過的,因為它符合語法,但是運行時會出現空指針異常:java.lang.NullPointerException //空引用訪問“實例”相關的數據一定會出現空指針異常 System.out.println(s.age);
三、源碼:
D35_void_pointer_exception.java
地址:
https://github.com/ruigege66/Java/blob/master/D35_void_pointer_exception.java
2.CSDN:https://blog.csdn.net/weixin_44630050(心悅君兮君不知-睿)
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關註微信公眾號:傅里葉變換,個人公眾號,僅用於學習交流,後臺回覆”禮包“,獲取大數據學習資料