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

java 棧和堆區(qū)別詳細(xì)介紹

 更新時(shí)間:2016年12月23日 09:02:42   投稿:lqh  
這篇文章主要介紹了java 棧和堆區(qū)別詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下

java 棧和堆區(qū)別

1, 垃圾回收機(jī)制僅僅作用于堆內(nèi)存,與棧內(nèi)存無(wú)關(guān);

2, 棧:stack 棧的存取速度比堆快,效率高 保存局部變量和對(duì)象的引用值

3, 堆:保存較大的變量

4, 棧有一個(gè)很重要的特殊性,就是存在棧中的數(shù)據(jù)可以共享

編譯器處理int a = 3 時(shí),首先會(huì)在棧中創(chuàng)建一個(gè)變量為a的引用,然后查找棧中是否存在3這個(gè)值,如果不存在,就將3存放進(jìn)來(lái);

處理b = 3時(shí),也是這樣,因?yàn)橹皩?存放進(jìn)來(lái)了,所以此時(shí)編譯器只需將創(chuàng)建b這個(gè)變量再指向3就行了(有利于節(jié)省空間)。
這個(gè)時(shí)候就出現(xiàn)a和b同時(shí)指向3的情況,但不影響他們的使用。如果此時(shí)又定義a = 4;,則需將4存放進(jìn)內(nèi)存,由a指向4,a值的修改不會(huì)影響到b值。

內(nèi)存的劃分:


1,寄存器。
2,本地方法區(qū)。
3,方法區(qū)。
4,棧內(nèi)存。
 存儲(chǔ)的都是局部變量。
 而且變量所屬的作用域一旦結(jié)束,該變量就自動(dòng)釋放。
5,堆內(nèi)存。
 存儲(chǔ)是數(shù)組和對(duì)象(其實(shí)數(shù)組就是對(duì)象) 凡是new建立在堆中。
 特點(diǎn):
 1,每一個(gè)實(shí)體都有首地址值。
 2,堆內(nèi)存中的每一個(gè)變量都有默認(rèn)初始化值,根據(jù)類型的不同而不同。整數(shù)是0,小數(shù)0.0或者0.0f,boolean false char '\u0000'
 3,垃圾回收機(jī)制。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Spring Boot使用AOP在指定方法執(zhí)行完后執(zhí)行異步處理操作

    Spring Boot使用AOP在指定方法執(zhí)行完后執(zhí)行異步處理操作

    這篇文章主要介紹了Spring Boot使用AOP在指定方法執(zhí)行完后執(zhí)行異步處理操作,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • 詳解Java并發(fā)編程基礎(chǔ)之volatile

    詳解Java并發(fā)編程基礎(chǔ)之volatile

    volatile作為Java多線程中輕量級(jí)的同步措施,保證了多線程環(huán)境中“共享變量”的可見性。這里的可見性簡(jiǎn)單而言可以理解為當(dāng)一個(gè)線程修改了一個(gè)共享變量的時(shí)候,另外的線程能夠讀到這個(gè)修改的值。本文將詳解介紹Java并發(fā)編程基礎(chǔ)之volatile
    2021-06-06
  • JAVA中String介紹及常見面試題小結(jié)

    JAVA中String介紹及常見面試題小結(jié)

    這篇文章主要介紹了JAVA中String介紹及常見面試題,在java面試中經(jīng)常會(huì)被面試官問(wèn)到,小編通過(guò)實(shí)例代碼相結(jié)合給大家詳細(xì)介紹,需要的朋友可以參考下
    2020-02-02
  • MyBatisPlus-QueryWrapper多條件查詢及修改方式

    MyBatisPlus-QueryWrapper多條件查詢及修改方式

    這篇文章主要介紹了MyBatisPlus-QueryWrapper多條件查詢及修改方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • centos下安裝openjdk21的詳細(xì)圖文教程

    centos下安裝openjdk21的詳細(xì)圖文教程

    這篇文章主要介紹了centos下安裝openjdk21的相關(guān)資料,文章詳細(xì)介紹了如何手動(dòng)下載、解壓和配置OpenJDK?21,包括下載OpenJDK、上傳到指定目錄、解壓、編輯環(huán)境變量和驗(yàn)證安裝成功的過(guò)程,需要的朋友可以參考下
    2024-12-12
  • java基于Apache FTP點(diǎn)斷續(xù)傳的文件上傳和下載

    java基于Apache FTP點(diǎn)斷續(xù)傳的文件上傳和下載

    本篇文章主要介紹了java基于Apache FTP點(diǎn)斷續(xù)傳的文件上傳和下載,利用FTP實(shí)現(xiàn)文件的上傳和下載,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2016-11-11
  • 如何解決通過(guò)spring-boot-maven-plugin package失敗問(wèn)題

    如何解決通過(guò)spring-boot-maven-plugin package失敗問(wèn)題

    這篇文章主要介紹了如何解決通過(guò)spring-boot-maven-plugin package失敗問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 淺談Spring中@Import注解的作用和使用

    淺談Spring中@Import注解的作用和使用

    這篇文章主要介紹了淺談Spring中@Import注解的作用和使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 通過(guò)代碼示例了解submit與execute的區(qū)別

    通過(guò)代碼示例了解submit與execute的區(qū)別

    這篇文章主要介紹了通過(guò)代碼示例了解submit與execute的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java?FTP協(xié)議實(shí)現(xiàn)文件下載功能

    Java?FTP協(xié)議實(shí)現(xiàn)文件下載功能

    FTP(File?Transfer?Protocol)就是文件傳輸協(xié)議。通過(guò)FTP客戶端從遠(yuǎn)程FTP服務(wù)器上拷貝文件到本地計(jì)算機(jī)稱為下載,將本地計(jì)算機(jī)上的文件復(fù)制到遠(yuǎn)程FTP服務(wù)器上稱為上傳,上傳和下載是FTP最常用的兩個(gè)功能
    2022-11-11

最新評(píng)論