對于我的一個程序,我需要大內存,我用兩種不同的實現來完成此操作,如下: int SIZE = 1000000000; int[] rnums = new int[SIZE]; byte[] d1 = new byte[2 * SIZE]; byte[] d2 = new byte[2 * SIZE]; int SIZE = 1000000000; int[] rnums = new int[SIZE]; byte[][] d1 = new byte[SIZE][2]; byte[][] d2 = new byte[SIZE][2];兩個程序都可以工作并產生正確的答案,但是 2D 實現速度非常慢,隨著 SIZE 的增加,它變得越來越慢。其余的代碼非常相似,我不明白為什么 2D 會導致那么大的延遲。
1 回答

慕容708150
TA貢獻1831條經驗 獲得超4個贊
我已將代碼更改為以下代碼:
int SIZE = 1000000000;
int[] rnums = new int[SIZE];
byte[][] d1 = new byte[2][SIZE];
byte[][] d2 = new byte[2][SIZE];
并且它可以工作,運行正常。
添加回答
舉報
0/150
提交
取消