<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 33,  comments - 17,  trackbacks - 0
     

    程序運行時6個不同地方可以存儲數據:

    1、寄存器(register):這是最快的存儲區——處理器內部。但是寄存器數量及其有限,所以寄存器由編譯器根據需求進行分配,你不能直接控制,也不能在程序中感覺到寄存器存在的任何跡象。

    2、堆棧(stack):位于通用的RAM中,但通過它的“堆棧指針”可以從處理器哪里獲得直接支持。堆棧指針若向下移動,則分配新的內存;若向上移動,則釋放那些內存。這是一種快速有效的分配存儲方法,僅次于寄存器。創建程序時,Java編譯器必須知道存儲在堆棧內所有數據的確切大小和生命周期。因為它必須生產相應的代碼,以便上下移動堆棧指針。這一約束限制了程序的靈活性,所以雖然某些Java數據存儲于堆棧中——特別是對象引用,但是Java對象并不存儲于其中。

    3、堆(heap):一種通用性的內存池(也在RAM區),用于存放所有的Java對象。堆不同于堆棧的好處是:編譯器不需要知道要從堆里分配多少存儲區域,也不必知道存儲的數據在堆里存活多長時間。因此,在隊里分配存儲有很大的靈活性。當需要創建一個對象時,只需要new下。執行這行代碼時,會自動在堆里進行存儲分配。當然,為這種靈活性必須付出相應的代價。用堆進行存儲分配比用堆棧進行存儲需要更多的時間。

    4、靜態存儲(static storage):這里的“靜態”是指“在固定的位置”(雖然也在RAM)。靜態存儲里存放程序運行時一直存在的數據。可以用關鍵字static來標識一個對象的特定元素是靜態的,但Java對象本身從來不會存放在靜態存儲空間里。

    5、常量存儲(constant storage):常量值通常直接存放在程序代碼內部,這樣做是安全的,因為他們永遠不會被改變。有時,在嵌入式系統中,常量本身會和其它部分隔離開,所以在這種情況下,可以選擇將其存放在ROM中。

    6、RAM存儲(non-RAM storage):如果數據完全存活于程序外,那么它可以不受程序的任何控制,在程序沒有運行時也可以存在。其中兩個最基本的例子就是“流對象”(stream object)和“持久化對象”(persistent object)。

    posted on 2008-07-03 15:01 scea2009 閱讀(178) 評論(0)  編輯  收藏

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


    網站導航:
     

    <2008年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    PL/SQL存儲過程與函數

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲日韩AV无码一区二区三区人| 国产精品免费_区二区三区观看 | 久久亚洲精品中文字幕无码 | 亚洲黑人嫩小videos| 中文成人久久久久影院免费观看 | 亚洲AV无码国产精品色午友在线| a级毛片免费高清视频| 久久精品国产精品亚洲| 国产特黄一级一片免费 | 中文字幕 亚洲 有码 在线| 1024免费福利永久观看网站| 亚洲AV人无码综合在线观看 | 国产成人精品免费视频大全麻豆 | 亚洲国产精品日韩在线| 18禁美女黄网站色大片免费观看 | 三级网站在线免费观看| 久久精品国产亚洲av麻豆| 67194成手机免费观看| 最新亚洲卡一卡二卡三新区| 毛片免费全部播放一级| 国产亚洲综合视频| 亚洲国产一二三精品无码| 蜜桃成人无码区免费视频网站 | 精品一区二区三区无码免费视频| 99在线视频免费| 国产91在线|亚洲| 成年午夜视频免费观看视频| 成熟女人特级毛片www免费| 亚洲日韩AV无码一区二区三区人| 亚洲黄色片免费看| 亚洲色偷偷综合亚洲av78| 亚洲精品免费视频| 亚洲 日韩经典 中文字幕| 亚洲一区二区精品视频| 无码国产精品一区二区免费模式 | 黄色a三级三级三级免费看| 一二三四免费观看在线视频中文版 | 欧美a级在线现免费观看| 亚洲国产精品无码第一区二区三区 | 亚洲熟妇丰满多毛XXXX| 在线看免费观看AV深夜影院|