Java中的內(nèi)存分配圖解
Java的內(nèi)存分配
Java 程序運行時,需要在內(nèi)存中分配空間。
為了提高運算效率,就對空間進行了不同區(qū)域的劃分,因為每一片區(qū)域都有特定的處理數(shù)據(jù)方式和內(nèi)存管理方式。
棧內(nèi)存
棧內(nèi)存:存儲局部變量,定義在方法里面的變量
例如arr使用完畢,立即消失特點:棧內(nèi)存的數(shù)據(jù)用完就釋放。
堆內(nèi)存
堆內(nèi)存:存儲new出來的的內(nèi)容(實體,對象)數(shù)組在初始化時,會為存儲空間添加默認(rèn)值
- 整數(shù):0
- 浮點數(shù):0.0
- 布爾:false
- 字符:空字符
- 引用數(shù)據(jù):null
注意:每一個new出來的東西都有一個地址值,使用完畢,會在垃圾站回收器空間時被回收
創(chuàng)建數(shù)組內(nèi)存分析
當(dāng)定義一個數(shù)組時,會找到地址,如果沒有初始化(沒有為數(shù)組賦值),系統(tǒng)就會默認(rèn)給數(shù)組下標(biāo)添加默認(rèn)值
例如創(chuàng)建一個長度3的數(shù)組
int[] arr=new int[3]

在棧內(nèi)存中保存的是堆內(nèi)存空間的訪問地址,棧內(nèi)存會有個地址指向堆內(nèi)存的地址
創(chuàng)建對象內(nèi)存分析

定義一個學(xué)生類

創(chuàng)建Application來調(diào)用Student類

Main() 函數(shù)
main()函數(shù)稱為主函數(shù),一個程序中有且只有一個,擁有程序的執(zhí)行權(quán),程序在執(zhí)行時總是先找到主函數(shù),然后從它開始執(zhí)行
當(dāng)它調(diào)用某個子函數(shù)時,便將執(zhí)行權(quán)交給被調(diào)用函數(shù),被調(diào)用函數(shù)執(zhí)行完畢后,再將執(zhí)行權(quán)還給主調(diào)函數(shù),主函數(shù)繼續(xù)執(zhí)行,一旦主函數(shù)結(jié)束,代表整個程序就結(jié)束了
執(zhí)行過程分析:
首先,main方法會先進入棧里面,然后再執(zhí)行student的這個實例化,student這個對象就被創(chuàng)建,創(chuàng)建后會被加載到棧里面
在棧里面student這個對象就會去找堆中new的Student類型,然后堆會給student的屬性一個默認(rèn)的值,name是null,不同的類型默認(rèn)值不同
然后用戶自定義再給name賦值,name的值就可以輸出了
執(zhí)行完這個程序,這個student就會出棧,然后main方法也出棧了
到此這篇關(guān)于Java中的內(nèi)存分配圖解的文章就介紹到這了,更多相關(guān)Java內(nèi)存分配內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java畢業(yè)設(shè)計實戰(zhàn)之生活旅行分享平臺的實現(xiàn)
這是一個使用了java+Springboot+JPA+Jsp+Html+js+Ajax+maven+mysql開發(fā)的生活旅行分享平臺,是一個畢業(yè)設(shè)計的實戰(zhàn)練習(xí),具有分享發(fā)布平臺該有的所有功能,感興趣的朋友快來看看吧2022-02-02
Java實現(xiàn)遠(yuǎn)程控制技術(shù)完整源代碼分享
這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)遠(yuǎn)程控制技術(shù)完整源代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-08-08
Java8新特性時間日期庫DateTime API及示例詳解
這篇文章主要介紹了Java8新特性時間日期庫DateTime API及示例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
SpringBoot接收form-data和x-www-form-urlencoded數(shù)據(jù)的方法
form-data和x-www-form-urlencoded是兩種不同的HTTP請求體格式,本文主要介紹了SpringBoot接收form-data和x-www-form-urlencoded數(shù)據(jù)的方法,具有一定的參考價值,感興趣的可以了解一下2024-05-05

