<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. java語言

    Java內存是如何劃分的

    時間:2025-03-30 22:46:44 java語言 我要投稿
    • 相關推薦

    Java內存是如何劃分的

      Java具有簡單性、面向對象、分布式、健壯性、安全性、與可移植性、多線程、動態性等特點。Java的內存是怎么劃分的?下面就一起來了解看看吧!


      Java內存劃分

      Java把內存劃分成兩種:一種是棧內存,一種是堆內存。

      棧內存

      存放對象:函數中基本類型的變量和對象的引用變量、靜態類方法

      特點:棧有一個很重要的特殊性,就是存在棧中的數據可以共享。假設我們同時定義:

      inta=3;

      intb=3;

      編譯器先處理inta=3;首先它會在棧中創建一個變量為a的引用,然后查找棧中是否有3這個值,如果沒找到,就將3存放進來,然后將a指向3。

      接著處理intb=3;在創建完b的引用變量后,因為在棧中已經有3這個值,便將b直接指向3。這樣,就出現了a與b同時均指向3的情況。

      堆內存

      存放對象:用來存放由new創建的對象和數組。

      特點:在堆中分配的內存,由Java虛擬機的自動垃圾回收器來管理。

      在堆中產生了一個數組或對象后,還可以在棧中定義一個特殊的變量,讓棧中這個變量的取值等于數組或對象在堆內存中的首地址,棧中的這個變量就成了數組或對象的引用變量。

      引用變量就相當于是為數組或對象起的一個名稱,以后就可以在程序中使用棧中的引用變量來訪問堆中的數組或對象。

      Q:static關鍵字,是一個修飾符,用于修飾成員(成員變量和成員函數),有什么特點

      A:1,想要實現對象中的共性數據的對象共享。可以將這個數據進行靜態修飾。

      2,被靜態修飾的成員,可以直接被類名所調用。也就是說,靜態的成員多了一種調用方式。類名.靜態方式。

      3,靜態隨著類的加載而加載。而且優先于對象存在。


    【Java內存是如何劃分的】相關文章:

    如何識別Java中的內存泄漏10-19

    如何解決java內存泄漏07-26

    如何解決java內存泄漏的問題08-13

    Java數組在內存中是如何存放的08-21

    Java內存回收07-17

    Java的內存模型09-22

    java程序運行時內存如何分配09-28

    java內存的詳細介紹06-04

    Java內存回收相關知識10-09

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人