本文目錄一覽:
Java數組的長度到底能有多大
菜鳥一般會問這樣的問題, 數組的長度能有多大, 理論上數組的長度為int類型, 最大為Integer.MAX_VALUE =2147483647; 16進位 [0x7fffffff]
如果聲明一個int類型的數組: int[] ints = new int[Integer.MAX_VALUE]; 自己計算一下電腦得開多少內存給jvm
2147483647 / (1024*1024*1024) = 1.99999999GB 差不多2個G內存, jvm 100%會報oom, 當然伺服器的內存可能設置比較大, 但是你有必要開這麼大內存嗎? 懂了沒?
java數組的最大長度是多少
java 中數組的最大長度是多少呢?看一下它的length屬性就可以了。length屬性是32位的有符號整數,它的最大值是2的31次冪,就是2G。為何有這個限制呢?為什麼length的屬性不是long型呢?我們假設一下,如果它是long型的,那麼它的最大長度是2的63次冪。內存永遠也不會有那麼大吧。即使是位元組數組長度是int的,最大長都達到2GB.
由此想到了String,這個傢伙底層也是基於數組的,是一個字元數組。字元是16位的基本類型,一個String的最大長度是多少呢?就是字元數組的最大長度也是2G,佔用內存是4GB。
從JVM的角度來解釋:創建數組的位元組碼是anewarray和newarray,操作數棧的字寬是32位,而這兩個位元組碼的參數都是一個字長,所以無法接受long型的長度參數。不知道這樣解釋是否很牽強。
JAVA怎樣獲取數組長度
java list得到屬豬長度的方法如下:
1 java中的length屬性是針對數組說的,比如說你聲明了一個數組,想知道這個數組的長度則用到了length這個屬性.
2 java中的length()方法是針對字元串String說的,如果想看這個字元串的長度則用到length()這個方法.
3.java中的size()方法是針對泛型集合說的,如果想看這個泛型有多少個元素,就調用此方法來查看
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void main(String[] args) {
String []list={“ma”,”cao”,”yuan”};
String a=”macaoyuan”;
System.out.println(list.length);
System.out.println(a.length());
ListObject array=new ArrayList();
array.add(a);
System.out.println(array.size());
}
輸出的值為:
3
9
1
Java 數組有最大長度嗎
java 中數組的最大長度是多少呢?看一下它的length屬性就可以了。length屬性是32位的有符號整數,它的最大值是2的31次冪,就是2G。為何有這個限制呢?為什麼length的屬性不是long型呢?我們假設一下,如果它是long型的,那麼它的最大長度是2的63次冪。內存永遠也不會有那麼大吧。即使是位元組數組長度是int的,最大長都達到2GB.
由此想到了String,這個傢伙底層也是基於數組的,是一個字元數組。字元是16位的基本類型,一個String的最大長度是多少呢?就是字元數組的最大長度也是2G,佔用內存是4GB。
從JVM的角度來解釋:創建數組的位元組碼是anewarray和newarray,操作數棧的字寬是32位,而這兩個位元組碼的參數都是一個字長,所以無法接受long型的長度參數。不知道這樣解釋是否很牽強。
原創文章,作者:EKHZG,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/330774.html