『壹』 java數組的長度到底能有多大
使用eclipse默認的vm arguments,運行以下代碼:
public static void main(String[] args) {
byte[] array=new byte[61858764];
// short[] shortArray=new short[30929382];
// int[] intArray=new int[15464691];
// long[] longArray=new long[7732345];
}
成功,沒有報錯,可知在eclipse默認的vm arguments下,byte數組的最大長度是61858764,將近。
由於short的長度比byte大一倍,所以short數組的最大長度是30929382,是byte數組最大長度的一半,
以此類推,int數組最大長度是15464691,long數組最大長度是7732345
我以為這就是最終結果,後來突然想起修改虛擬機的最大內存,也是這個結果嗎?
我把eclipse的vm arguments設置修改為:-Xms256M -Xmx768M
再次測試代碼,發現byte數組的最大長度可以更長,
通過Windows任務管理器可知,運行代碼的javaw.exe進程佔用的內存也更大(廢話,呵呵)
到此為止,應該可以得出結論,通過修改虛擬機的最大內存,java整型數組的最大長度可以很長,但到底有多長?(肯定比內存小)
我試過定義一個byte數組的長度為618587640,將近600M,沒有報錯,更長的數組似乎沒有意義,我也沒有測試。
選自:http://blog.csdn.net/mayumin/article/details/5904974
『貳』 java中已經定義好的數組怎樣擴大長度
沒啥辦法只能新建一個更大的數組,看需求如果可以用list,只能用數組,參數ArrayList的源碼
oldData = Arrays.Of(oldData , newLength);
『叄』 java如何增加數組長度
java中的數組是定長的來,無法動自態增加長度。如果要擴充數組,只能通過重新定義數組,把舊數組內容拷貝到新數組中。
例如:
1、定義一個舊數組
js">int[]arrOld=newint[2];//舊數組定義
2、要擴充數組長度到3,需要重新定義數組
int[]arrNew=newint[3];//定義新數組
for(inti=0;i<arrOld.length;i++){
arrNew[i]=arrOld[i];//把舊數組中的元素拷貝到新數組中
}
『肆』 JAVA怎樣獲取數組長度
1、打開Eclipse,新建項目,在項目src目錄新建一個類,為了更好操作數組,Java為數組提供專length屬性,用屬來獲取數組長度,語法格式如下。
『伍』 java中已經定義好的數組怎樣擴大長度
固定的了,不能擴,
只能重新定義一個需要的長度的數組,再把原來的資料庫拷貝進去
『陸』 java怎樣定義可變長數組
數組在定義旅啟陵中,必拆戚須明確長度。所以變長不可能。
用ArrayList 等實現List介面的類,變相實現變長數組旁散。
和數組之間轉換也比較方便。