摘要:寄存器這是最快的存儲(chǔ)區(qū),因?yàn)樗挥诓煌谄渌鎯?chǔ)區(qū)的地方處理器內(nèi)部。存儲(chǔ)在字符串常量池中和存儲(chǔ)于棧中創(chuàng)建了個(gè)對(duì)象,對(duì)象存儲(chǔ)在堆內(nèi)存中引用存于棧中創(chuàng)建了個(gè)對(duì)象。變量存儲(chǔ)在棧內(nèi)存中,兩個(gè)對(duì)象存儲(chǔ)在堆內(nèi)存中
1. 寄存器
這是最快的存儲(chǔ)區(qū),因?yàn)樗挥诓煌谄渌鎯?chǔ)區(qū)的地方——處理器內(nèi)部。但是寄存器的數(shù)量極其有限,所以寄存器由編譯器根據(jù)需求進(jìn)行分配。你不能直接控制,也不能在程序中感覺(jué)到寄存器存在的任何跡象。
2. 棧(stack)位于通用RAM中, 存放基本類(lèi)型的變量數(shù)據(jù)和對(duì)象的引用,但對(duì)象本身不存放在棧中,而是存放在堆(new 出來(lái)的對(duì)象)或者常量池中(字符串常量對(duì)象存放在常量池中)
3. 堆(heap)存放所有new出來(lái)的對(duì)象
4. 靜態(tài)存儲(chǔ)(static storage)存放靜態(tài)成員(static定義的)
5. 常數(shù)存儲(chǔ)(constant storage)存放字符串常量和基本類(lèi)型常量(public static final)
6. 非 RAM 存儲(chǔ)。如果數(shù)據(jù)完全存活于程序之外,那么它可以不受程序的任何控制,在程序沒(méi)有運(yùn)行時(shí)也可以存在。
測(cè)試public static void main(String[] args) { // 創(chuàng)建了1個(gè)string對(duì)象。"apple"存儲(chǔ)在字符串常量池中 , str1 和str2存儲(chǔ)于棧中 String str1 = "apple" ; String str2 = "apple" ; System.out.println(str1==str2);//true // 創(chuàng)建了2個(gè)string對(duì)象,對(duì)象存儲(chǔ)在堆內(nèi)存中, 引用存于棧中 String str3 = new String("orange" ); String str4 = new String("orange" ); System.out.println(str3==str4);//false . //創(chuàng)建了2個(gè)對(duì)象。兩個(gè)1對(duì)象存儲(chǔ)在堆內(nèi)存中 Integer l1 = new Integer(1); Integer k1 = new Integer(1); System.out.println(l1==k1);//false . // 以下兩條語(yǔ)句創(chuàng)建了2個(gè)對(duì)象。i1,i2變量存儲(chǔ)在棧內(nèi)存中,兩個(gè)256對(duì)象存儲(chǔ)在堆內(nèi)存中 Integer i1 = 256; Integer i2 = 256; System.out.println(i1==i2);//false }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/65338.html
摘要:堆棧位于通用隨機(jī)訪問(wèn)存儲(chǔ)器中,但通過(guò)堆棧指針可以從處理器那里獲得直接支持。堆棧指針若向下移動(dòng),則分配新的內(nèi)存若向上移動(dòng),則釋放那些內(nèi)存。創(chuàng)建程序時(shí),系統(tǒng)必須知道存儲(chǔ)在堆棧內(nèi)所有項(xiàng)的確切聲明周期,以便上下移動(dòng)堆棧指針。 寫(xiě)在前面 首先我想說(shuō)的是 Java編程思想——知識(shí)卡片 將是一系列文章,文章的內(nèi)容是我閱讀《Java編程思想》這本書(shū)的心得體會(huì),那么我為什么要寫(xiě)這一系列的文章呢?原因有一...
摘要:大多數(shù)待遇豐厚的開(kāi)發(fā)職位都要求開(kāi)發(fā)者精通多線程技術(shù)并且有豐富的程序開(kāi)發(fā)調(diào)試優(yōu)化經(jīng)驗(yàn),所以線程相關(guān)的問(wèn)題在面試中經(jīng)常會(huì)被提到。將對(duì)象編碼為字節(jié)流稱(chēng)之為序列化,反之將字節(jié)流重建成對(duì)象稱(chēng)之為反序列化。 JVM 內(nèi)存溢出實(shí)例 - 實(shí)戰(zhàn) JVM(二) 介紹 JVM 內(nèi)存溢出產(chǎn)生情況分析 Java - 注解詳解 詳細(xì)介紹 Java 注解的使用,有利于學(xué)習(xí)編譯時(shí)注解 Java 程序員快速上手 Kot...
摘要:最近一直在學(xué)習(xí),由于的完全是半路出家,以前一直在用和之類(lèi)的東西,對(duì)于時(shí)間和日期的處理,一直沒(méi)能弄得比較清楚。說(shuō)清楚,中,原始的存儲(chǔ)只有以下幾種文檔。有符號(hào)整數(shù),根據(jù)值的大小存儲(chǔ)在字節(jié)中。。浮點(diǎn)數(shù),儲(chǔ)存為字節(jié)的浮點(diǎn)數(shù)。。 最近一直在學(xué)習(xí)Android,由于Xana的Java完全是半路出家,以前一直在用C#、C++和Python之類(lèi)的東西,對(duì)于時(shí)間和日期的處理,一直沒(méi)能弄得比較清楚。 說(shuō)...
閱讀 1104·2021-10-12 10:11
閱讀 887·2019-08-30 15:53
閱讀 2301·2019-08-30 14:15
閱讀 2971·2019-08-30 14:09
閱讀 1210·2019-08-29 17:24
閱讀 984·2019-08-26 18:27
閱讀 1291·2019-08-26 11:57
閱讀 2167·2019-08-23 18:23