亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java中的內(nèi)存分配圖解

 更新時間:2023年08月16日 09:08:27   作者:Sweb.  
這篇文章主要介紹了Java中的內(nèi)存分配圖解,Java 程序運(yùn)行時,需要在內(nèi)存中分配空間。為了提高運(yùn)算效率,就對空間進(jìn)行了不同區(qū)域的劃分,因為每一片區(qū)域都有特定的處理數(shù)據(jù)方式和內(nèi)存管理方式,需要的朋友可以參考下

Java的內(nèi)存分配

Java 程序運(yùn)行時,需要在內(nèi)存中分配空間。

為了提高運(yùn)算效率,就對空間進(jìn)行了不同區(qū)域的劃分,因為每一片區(qū)域都有特定的處理數(shù)據(jù)方式和內(nèi)存管理方式。

棧內(nèi)存

棧內(nèi)存:存儲局部變量,定義在方法里面的變量

例如arr使用完畢,立即消失特點(diǎn):棧內(nèi)存的數(shù)據(jù)用完就釋放。

堆內(nèi)存

堆內(nèi)存:存儲new出來的的內(nèi)容(實(shí)體,對象)數(shù)組在初始化時,會為存儲空間添加默認(rèn)值

  • 整數(shù):0
  • 浮點(diǎn)數(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方法會先進(jìn)入棧里面,然后再執(zhí)行student的這個實(shí)例化,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多線程 原子性操作類的使用

    Java多線程 原子性操作類的使用

    這篇文章主要介紹了Java多線程 原子性操作類的使用,在java5以后,我們接觸到了線程原子性操作,也就是在修改時我們只需要保證它的那個瞬間是安全的即可,經(jīng)過相應(yīng)的包裝后可以再處理對象的并發(fā)修改,本文總結(jié)一下Atomic系列的類的使用方法,下面一起進(jìn)入文章了解詳細(xì)內(nèi)容
    2021-10-10
  • Java反射機(jī)制詳解

    Java反射機(jī)制詳解

    這篇文章主要介紹了Java反射機(jī)制,首先簡單介紹了反射機(jī)制的預(yù)備知識,進(jìn)一步分析了Java反射機(jī)制的原理、實(shí)現(xiàn)技巧與應(yīng)用方法,需要的朋友可以參考下
    2015-12-12
  • 深入理解可視化JVM 故障處理工具

    深入理解可視化JVM 故障處理工具

    這篇文章主要介紹了深入理解可視化JVM 故障處理工具,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • SpringBoot?啟動流程追蹤方法分享

    SpringBoot?啟動流程追蹤方法分享

    這篇文章主要介紹了SpringBoot?啟動流程追蹤方法分享的相關(guān)資料,需要的朋友可以參考下
    2023-08-08
  • Java基本類型與byte數(shù)組之間相互轉(zhuǎn)換方法

    Java基本類型與byte數(shù)組之間相互轉(zhuǎn)換方法

    下面小編就為大家?guī)硪黄狫ava基本類型與byte數(shù)組之間相互轉(zhuǎn)換方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • 深入理解Java中的IOUtils(示例演示)

    深入理解Java中的IOUtils(示例演示)

    Java中的IOUtils是一個工具類,用于簡化文件和流的操作,它提供了一些常用的方法,如復(fù)制文件、讀取文件、寫入文件等,這篇文章主要介紹了深入理解Java中的IOUtils(示例演示),需要的朋友可以參考下
    2023-08-08
  • Java實(shí)現(xiàn)字節(jié)數(shù)B轉(zhuǎn)化為KB、MB、GB的方法示例【測試可用】

    Java實(shí)現(xiàn)字節(jié)數(shù)B轉(zhuǎn)化為KB、MB、GB的方法示例【測試可用】

    這篇文章主要介紹了Java實(shí)現(xiàn)字節(jié)數(shù)B轉(zhuǎn)化為KB、MB、GB的方法,結(jié)合實(shí)例形式分析了java字節(jié)數(shù)的轉(zhuǎn)換運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • ElasticSearch突然采集不到日志問題解決分析

    ElasticSearch突然采集不到日志問題解決分析

    這篇文章主要為大家介紹了ElasticSearch突然采集不到日志問題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • springboot 設(shè)置CorsFilter跨域不生效的解決

    springboot 設(shè)置CorsFilter跨域不生效的解決

    這篇文章主要介紹了springboot 設(shè)置CorsFilter跨域不生效的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 用3個實(shí)例從原理到實(shí)戰(zhàn)講清楚Log4j史詩級漏洞

    用3個實(shí)例從原理到實(shí)戰(zhàn)講清楚Log4j史詩級漏洞

    最近應(yīng)該很多人都在關(guān)注著一個漏洞Apache Log4j 2遠(yuǎn)程代碼執(zhí)行,該漏洞一旦被攻擊者利用會造成嚴(yán)重危害,這篇文章主要給大家介紹了關(guān)于如何用3個實(shí)例從原理到實(shí)戰(zhàn)講清楚Log4j史詩級漏洞的相關(guān)資料,需要的朋友可以參考下
    2021-12-12

最新評論