1樓:哈哈
每個integer 32bit,也就是四個位元組
integer在記憶體中有乙個指向方法區裡邊類資訊的指標,這個指標占用4bytes;另外integer中例項變數只有乙個int型別的字段,所以為32位,4bytes。在不考慮lock、wait set、gc相關資訊占用的時候,如果是第一種方案,有4bytes的指向物件池的指標,一共是3*4=12bytes;如果是第二種實現方案,則是2*4-8bytes的指標。
int和integer 占用多大記憶體,是不是一樣?不一樣到底大多少?
2樓:匿名使用者
int和integer 占用記憶體一樣,都是4個位元組。
int與integer的不同點:
1、int類基本資料型別,而integer為引用資料型別。
2、int佔4個位元組,用於儲存int型別的值, integer佔4個位元組,用於儲存integer物件的記憶體位址。
3、作為成員變數時,int的預設值為0,integer的預設為null。
4、integer使用null表示沒有建立integer物件,使用0代表已建立物件,值為0,integer i=0;integer i=null;private int age; 在寫類的屬性時,建議使用基本資料型別,因為只存"值"即可。
擴充套件資料
每個integer 32bit,也就是四個位元組。integer在記憶體中有乙個指向方法區裡邊類資訊的指標,這個指標占用4bytes;另外integer中例項變數只有乙個int型別的字段,所以為32位,4bytes。
在不考慮lock、wait set、gc相關資訊占用的時候,如果是第一種方案,有4bytes的指向物件池的指標,一共是3*4=12bytes;如果是第二種實現方案,則是2*4-8bytes的指標。
ingeter是int的包裝類,int的初值為0,ingeter的初值為null。
標準c語言規定long int(長整型)是 4位元組,short int(短整型)是2位元組,沒有規定int(整型)。大多數編譯器自行規定int等價long int,少數編譯器規定int等價short int,占用多大記憶體,也可以用 sizeof(int)求得。
3樓:金色潛鳥
標準 c 語言 規定 long int (長整型) 是 4位元組,short int (短整型)是 2位元組。
沒有規定 int (整型)。大多數編譯器 自行 規定 int 等價 long int, 少數編譯器 規定 int 等價 short int.
占用多大記憶體, 也可以 用 sizeof(int) 求得。
integer 是 英文 整型。 fortran 語言 有 integer 型。
4樓:匿名使用者
int 是c 中的基本型別 integer是英文單詞 但意思都是整型
int 具體多大由編譯器實現決定
5樓:陳迪
還要看機器!!!如果是16位的就是2位元組,32位就是4位元組!
6樓:匿名使用者
1:integer 是int的包裝類a,b都是引用資料型別,
2:分別指向不同的兩個位址,裡面存的值都是1。
3:c是基本資料型別,a= = c為true。b= = c為true是比較a,b,裡面的值和1是否相等,4:
所以都是true,但是a = =b為false比較的是記憶體位址,所以是不相等的。
j**a integer和int之間==的比較問題。求解釋
7樓:
jdk1.5以後的自動拆裝箱引起的,物件和物件比較(integer)是引用比較堆記憶體位址,所以不相等,物件和基本資料型別會自動轉成基本型別後比較,即比較棧中位址,所以是相等的
8樓:匿名使用者
integer是封裝的int是應用型別用==比較的是位址,而int是基本型別。
9樓:不一定是飛機
integer是int的封裝物件,兩個物件==比較的是棧的值integer a = new integer(1);
integer b = new integer(1);
a與b存的是integer的堆中的位址,而不是值a、b指向堆中的位址顯然不同所以 a==b 為falseint c = 1; int為值型別,引用型別integer與值型別int比較顯然比較的是值
因為int在堆中是不開闢記憶體的,他在棧中的值則為他本身的值所以a==c比較的是他們各自的value, a==c為trueinteger e=1; 這個比較特殊,直接賦值 它有獨立的記憶體,每次賦值時將檢查記憶體中是否有值跟他匹配的,若有則把此記憶體位址付給e,若沒有,開闢新的記憶體
你可以嘗試下面的例子:
integer t = 1;
integer t1 = 1;
t==t1 為true,如上所說,此時t與t1指向的是同一塊記憶體new 一定是開闢新的記憶體,直接賦值則不一定開闢新的記憶體因為a的引用指向堆,而e指向專門存放他的記憶體,所以他們的記憶體位址不一樣
所以a==e為false
c==e等同於 a==c,乙個引用型別乙個值型別
10樓:
integer與integer比較的是引用的位址,integer與int,integer先拆箱,比較的是值
int和integer分別在什麼時候用??
11樓:叮嚀草娃
int是integer的縮寫,**段只需用縮寫就ok了,如:
int main()
12樓:匿名使用者
integer是嘛?有這個關鍵字?
j**a integer和int之間的比較問題是什麼?
integer和int有什麼區別
13樓:風若遠去何人留
後乙個是前乙個的簡寫
有些語言中用integer 大多數用int
很少有兩種都支援的。
14樓:愛尚實訓_博雅
int是八種基本資料型別中的乙個,integer是該基本資料型別所對應的包裝類,integer可以存null
int與integer的區別
15樓:斷魂無夢
一般小寫字母開頭的是資料型別(如int double),大寫字母開頭的一般是封裝為類(如double),裡面有很多方法,比如實行轉換integer.parseint(arg0),可以把其他型別的資料轉換為int
16樓:匿名使用者
integer是final修飾的類儲存在常量池在常量池儲存的好處是節省空間 不需要多次建立物件integer和string一樣都是final類有前面執行建立的integer i=10,還是其他方法或屬性使用10的位址
不需要再例項化直接引用即可
例如:integer i=10;
integer y=10;
system.out.println(i==y);
執行結果為true 都引用乙個10的位址
int 和int的區別, int 4 和 int 4 的區別?
int p 4 定義一bai個指du針陣列 zhi,該陣列中每個元素是乙個指標,每dao個指標指向 就內需要程式容中後續再定義了。int p 4 定義乙個陣列指標,該指標指向含4個元素的一維陣列 陣列中每個元素是int型 區分int p n 和int p n 就要看運算子的優先順序了。int p n...
c語言int和longint問題
在c語言中,int即整型型別,long int等同於long,為長整型型別。二者區別與 內編譯器相容關。1 16位編譯器。int佔2位元組,範圍為 32768 32767 long int佔4位元組,範圍為 2147483648 2147483647 2 32位編譯器。int 和long均佔4位元組...
c 中INT和INT返回有什麼區別具體點啊
c語言系列都是 case sensitive 區分大小寫 的,不知道你到底是問int還是int 一,如果你問的是int int是宣告整形變數的keyword int 是別名,一般用在函式的 list of parameter 中,表示對int型變數的引用,如 returntype method in...