欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中的內存分配圖解

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

Java的內存分配

Java 程序運行時,需要在內存中分配空間。

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

棧內存

棧內存:存儲局部變量,定義在方法里面的變量

例如arr使用完畢,立即消失特點:棧內存的數據用完就釋放。

堆內存

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

  • 整數:0
  • 浮點數:0.0
  • 布爾:false
  • 字符:空字符
  • 引用數據:null

注意:每一個new出來的東西都有一個地址值,使用完畢,會在垃圾站回收器空間時被回收

創(chuàng)建數組內存分析

當定義一個數組時,會找到地址,如果沒有初始化(沒有為數組賦值),系統(tǒng)就會默認給數組下標添加默認值

例如創(chuàng)建一個長度3的數組

int[] arr=new int[3]

 在棧內存中保存的是堆內存空間的訪問地址,棧內存會有個地址指向堆內存的地址

創(chuàng)建對象內存分析

定義一個學生類

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

 Main() 函數

main()函數稱為主函數,一個程序中有且只有一個,擁有程序的執(zhí)行權,程序在執(zhí)行時總是先找到主函數,然后從它開始執(zhí)行

當它調用某個子函數時,便將執(zhí)行權交給被調用函數,被調用函數執(zhí)行完畢后,再將執(zhí)行權還給主調函數,主函數繼續(xù)執(zhí)行,一旦主函數結束,代表整個程序就結束了

執(zhí)行過程分析:

首先,main方法會先進入棧里面,然后再執(zhí)行student的這個實例化,student這個對象就被創(chuàng)建,創(chuàng)建后會被加載到棧里面

在棧里面student這個對象就會去找堆中new的Student類型,然后堆會給student的屬性一個默認的值,name是null,不同的類型默認值不同

然后用戶自定義再給name賦值,name的值就可以輸出了

執(zhí)行完這個程序,這個student就會出棧,然后main方法也出棧了

到此這篇關于Java中的內存分配圖解的文章就介紹到這了,更多相關Java內存分配內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

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

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

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

    Java反射機制詳解

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

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

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

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

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

    Java基本類型與byte數組之間相互轉換方法

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

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

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

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

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

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

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

    springboot 設置CorsFilter跨域不生效的解決

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

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

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

最新評論