java內存分配堆和棧

 java程序劃分5個內存空間
棧:存放的是局部變量     分爲虛擬機棧和方法棧
        StackOverflowError   棧溢出  線程請求的棧深度大於虛擬機所允許的深度
                                            大部分虛擬機允許動態擴展
        OutOfMemoryError   擴展時無法申請到足夠多的內存
堆:存在的是所有new出來的東西
方法區:
本地方法區:和操作系統有關
寄存器:CPU使用

堆內存的特點: 
1 每個new出來的東西都有地址值
2 每個變量都有默認值
byte short int long  0
float  double  0.0 
char  '\u0000'
boolean  false
所有引用類型 null
3 使用完畢就變成垃圾,但是並沒用立即回收

類執行順序
靜態代碼塊>代碼塊>構造方法

多態      父類 =new  子類()
成員變量   編譯看左邊,運行看左邊
成員方法   因爲有方法重寫覆蓋  編譯看左邊,運行看右邊     也就是該方法  父類子類都有,子類重寫了
靜態方法   與類有關,
編譯看左邊,運行看左邊
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章