java資料類型記憶體配置簡記

來源:互聯網
上載者:User

   基礎資料類型直接在棧空間分配。

方法的形式參數,直接在棧空間分配,當方法調用完成後從棧空間回收。

引用資料類型,需要用new來建立,既在棧空間分配一個地址空間,又在堆空間指派至的類變數。

方法的引用參數,在棧空間分配一個地址空間,並指向堆空間的對象區,當方法調用完成後從棧空間回收。

局部變數 new 出來時,在棧空間和堆空間中分配空間,當局部變數生命週期結束後,棧空間立刻被回收,堆空間地區等待GC回收。

方法調用時傳入的 literal 參數,先在棧空間分配,在方法調用完成後從棧空間分配。

字串常量在 DATA 地區分配。

this 在堆空間分配。

數組既在棧空間分配數組名稱, 又在堆空間分配數組實際的大小。

在JAVA中,記憶體的管理分為Stack—棧,Heap—堆,Data Segment—資料區段,Code Segment—程式碼片段。

首先,先明確每一塊地區存放的是什麼內容。

Stack:可以翻譯為堆棧地區,存放一些基礎資料型別 (Elementary Data Type), 指令代碼,常量,對象的引用地址。

基本的資料類型為最基本的四類八種類型。在上篇部落格中已經提到。

指令代碼就是一些函數和方法。

常量和對象的引用地址可以理解為定義的變數。但是只是引用地址,真正new出來的存放在heap中,即堆記憶體中。

Heap:存放對象執行個體,即在代碼中new出來的東西全部放在此處。

Data Segment:資料區段,存放靜態常量和字串常量。

Code Segment:程式碼片段,存放代碼。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.