歡迎光臨郝學(xué)武的blog。

          java內(nèi)存處理簡介

          Posted on 2010-04-13 19:08 陜西BOY 閱讀(126) 評論(0)  編輯  收藏
          1.寄存器:最快的存儲區(qū), 由編譯器根據(jù)需求進行分配,我們在程序中無法控制.
          2. 棧:存放基本類型的變量數(shù)據(jù)和對象的引用,但對象本身不存放在棧中,而是存放在堆(new 出來的對象)或者常量池中(字符串常量對象存放在常量池中。)
          3. 堆:存放所有new出來的對象。
          4. 靜態(tài)域:存放靜態(tài)成員(static定義的)
          5. 常量池:存放字符串常量和基本類型常量(public static final)。
          6. 非RAM存儲:硬盤等永久存儲空間

          這里我們主要關(guān)心棧,堆和常量池,對于棧和常量池中的對象可以共享,對于堆中的對象不可以共享。棧中的數(shù)據(jù)大小和生命周期是可以確定的,當沒有引用指向數(shù)據(jù)時,這個數(shù)據(jù)就會消失。堆中的對象的由垃圾回收器負責回收,因此大小和生命周期不需要確定,具有很大的靈活性。
          對于字符串:其對象的引用都是存儲在棧中的,如果是編譯期已經(jīng)創(chuàng)建好(直接用雙引號定義的)的就存儲在常量池中,如果是運行期(new出來的)才能確定的就存儲在堆中。對于equals相等的字符串,在常量池中永遠只有一份,在堆中有多份。
          如以下代碼:
                  String s1 = "china";   
          1. String s2 = "china";   
          2. String s3 = "china";   
          3. String ss1 = new String("china");   
          4. String ss2 = new String("china");   
          5. String ss3 = new String("china");  

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          posts - 17, comments - 65, trackbacks - 0, articles - 28

          Copyright © 陜西BOY

          主站蜘蛛池模板: 柳江县| 襄垣县| 兴义市| 霍山县| 扶沟县| 资源县| 同德县| 连山| 北海市| 集安市| 乐都县| 阳东县| 白银市| 明水县| 长垣县| 唐河县| 石城县| 闵行区| 石林| 靖江市| 海城市| 重庆市| 凤城市| 远安县| 涞水县| 常山县| 汝南县| 福贡县| 永年县| 溧阳市| 临泉县| 广东省| 平果县| 洱源县| 黄大仙区| 军事| 昌吉市| 错那县| 鄱阳县| 巴林左旗| 讷河市|