我已經用Java編寫代碼來查找JVM可以支持的BigInteger的最大數組。將n維數組分配給對象
它通過添加創建BigInteger []並以更大的尺寸重新聲明它開始。一旦大小等於Integer.MAX_VALUE,它就開始創建BigInteger [Integer.MAX_VALUE] []並開始遞增第二個維度。一旦拋出OutOfMemory異常,它將停止,並返回最後成功初始化的數組。
不幸的是,基於計算機的RAM,它可能是BigInteger [],BigInteger [] [],一直到BigInteger [] [] [] [] []。我將如何將它分配給一個私人對象?陣列?在我的班級,所以我可以在以後參考它?
例如:
BigInteger[] x;
x = new BigInteger[][] //error, dims dont match.
我不確定,但我不認爲這與計算機有很大關係。支持多維數組並非如此任務。 – elyashiv
@eylashiv這是當每個的BigInteger包含一個int [],所有的存儲器,它被分配。而且,我的try catch語句經常用來拋出內存不足的錯誤。 –
隨着澄清編輯,我現在明白...思考。 –