1、總結html
1.棧內存中主要存儲的是方法體中的局部變量java
2.對象內部有實例變量,實例變量存儲在堆內存中git
3.變量分類:局部變量(方法體中聲明);成員變量(方法體外聲明)github
實例變量(前邊修飾符沒有static)靜態變量(前邊的修飾符中有static)微信
4.靜態變量存儲在方法區內存中。學習
5.三塊內存中變化量最頻繁的棧內存,垃圾回收期主要針對的是堆內存大數據
6.垃圾回收器(自動回收機制、GC機制)何時會考慮將某個java對象的內存回收呢?ui
(1)當堆內存中java對象成爲垃圾數據的時候,會被垃圾回收器回收spa
(2)何時堆內存中的java對象會變成垃圾呢?.net
i.沒有更多的引用指向它的時候;ii.這個對象沒法被訪問,由於訪問對象只能經過引用的方式進行訪問。
2、空指針異常
1.如下程序是能夠編譯經過的,由於它符合語法,可是運行時會出現空指針異常:java.lang.NullPointerException。空引用訪問「實例」相關的數據必定會出現空指針異常
Student s = new Student(); System.out.println(s.age); s = null; //以上程序是能夠編譯經過的,由於它符合語法,可是運行時會出現空指針異常:java.lang.NullPointerException //空引用訪問「實例」相關的數據必定會出現空指針異常 System.out.println(s.age);
3、源碼:
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.歡迎關注微信公衆號:傅里葉變換,我的公衆號,僅用於學習交流,後臺回覆」禮包「,獲取大數據學習資料
原文出處:https://www.cnblogs.com/ruigege0000/p/11595363.html