Java程序的內(nèi)部存儲

??此前對數(shù)據(jù)在內(nèi)存中的存儲一直不是很清楚庙楚,最近通過查閱資料終于對此有些了解纳账,在java中有五大不同的地方可以存儲數(shù)據(jù):寄存器呢袱、堆棧、堆挟炬、常量存儲、非RAM存儲卿吐。

1.寄存器

??這是最快的儲存區(qū)纳猫,因為它位于處理器的內(nèi)部乖仇,但是寄存器的數(shù)量有限眶根,要根據(jù)需求進行分配,不能直接控制扩氢。不能在程序中感覺到寄存器的任何跡象弟断。

2.堆棧

??位于通用RAM(隨機訪問存儲器)中矩父。但通過堆棧指針可以從處理器哪里獲取直接支持锉桑。堆棧指針若向下移動微驶,則分配新的內(nèi)存因苹,若向上移動,則釋放那些內(nèi)存腾么。這是一種快速有效的分配存儲方法饭寺,僅次于寄存器。創(chuàng)建程序時宣吱,java系統(tǒng)必須知道存儲在堆棧內(nèi)所有項的確切生命周期,以便于上下移動堆棧指針跑揉。這約束了程序的靈活性锅睛,所以雖然某些java數(shù)據(jù)存儲于堆棧中,特別是對象引用畔裕,但是java對象并不存儲于其中衣撬。

3.堆

??一種通用的內(nèi)存池,也位于RAM區(qū)扮饶,用于存放java對象具练。堆不同堆棧的好處是:編譯器不需要知道存儲的數(shù)據(jù)在對堆里面存活多長時間。因此甜无,在堆里面分配存儲有很大的靈活性扛点,但是也因為有更大的靈活性,所以用堆進行存儲分配和清理要比用堆棧需要更長的時間岂丘。

4.常量存儲

??常量值通常存放于程序代碼內(nèi)部陵究,這樣做是安全的,因為他們永遠不會被改變奥帘。有時铜邮,在嵌入式系統(tǒng)中,常量本身會和其它部分隔離開,所以在這種在這種情況下松蒜,可以選擇將其存放在ROM只讀存儲器中扔茅。

5.非RAM存儲

??如果數(shù)據(jù)完全存活于程序之外,那么它可以不受程序的任何控制秸苗,在程序沒有運行時也可以存在召娜。其中兩個基本的例子是流對象和持久化對象。在流對象中惊楼,對象轉(zhuǎn)化成字節(jié)流玖瘸,通常被發(fā)送給另一臺機器。在“持久化對象”中檀咙,對象被存放在磁盤上雅倒,因此即使程序終止,他們?nèi)钥梢员3肿约旱臓顟B(tài)攀芯。這種存儲方式的技巧在于:把對象轉(zhuǎn)化成可以存放到其它媒介上的失誤屯断,在需要時文虏,可恢復成常規(guī)的侣诺,給予RAM對象。Java提供了對輕量級持久化的支持氧秘,而諸如JDBC和Hibernanate這樣的機制提供了更加復雜的對在數(shù)據(jù)庫中存儲和讀取對象信息的支持年鸳。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市丸相,隨后出現(xiàn)的幾起案子搔确,更是在濱河造成了極大的恐慌,老刑警劉巖灭忠,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件膳算,死亡現(xiàn)場離奇詭異,居然都是意外死亡弛作,警方通過查閱死者的電腦和手機涕蜂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來映琳,“玉大人机隙,你說我怎么就攤上這事∪鳎” “怎么了有鹿?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長谎脯。 經(jīng)常有香客問我葱跋,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任娱俺,我火速辦了婚禮际看,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘矢否。我一直安慰自己仲闽,他們只是感情好,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布僵朗。 她就那樣靜靜地躺著赖欣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪验庙。 梳的紋絲不亂的頭發(fā)上顶吮,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音粪薛,去河邊找鬼悴了。 笑死,一個胖子當著我的面吹牛违寿,可吹牛的內(nèi)容都是我干的湃交。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼藤巢,長吁一口氣:“原來是場噩夢啊……” “哼搞莺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起掂咒,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤才沧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后绍刮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體温圆,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年孩革,在試婚紗的時候發(fā)現(xiàn)自己被綠了岁歉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡嫉戚,死狀恐怖刨裆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情彬檀,我是刑警寧澤帆啃,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站窍帝,受9級特大地震影響努潘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一疯坤、第九天 我趴在偏房一處隱蔽的房頂上張望报慕。 院中可真熱鬧,春花似錦压怠、人聲如沸眠冈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜗顽。三九已至,卻和暖如春雨让,著一層夾襖步出監(jiān)牢的瞬間雇盖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工栖忠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留崔挖,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓庵寞,卻偏偏與公主長得像狸相,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子皇帮,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容