我正在读一本关于编程技巧的书,其中作者问受访者:"你如何崩溃JVM?" 我认为你可以通过编写一个最终耗尽所有内存的无限for循环来实现.
有人有什么想法吗?
可以像这样添加Java中的两个1维数组/向量:
public static int[] addVectors( int[] a, int[] b )
{
int[] c = new int[a.length];
for ( int i = 0; i < a.length; i++ )
{
c[i] = a[i] + b[i];
}
return c;
}
Run Code Online (Sandbox Code Playgroud)
可以像这样添加Java中的两个二维数组/矩阵:
public static int[][] addMatrices( int[][] a, int[][] b )
{
int[][] c = new int[a.length][a[0].length];
for ( int i = 0; i < a.length; i++ )
{
c[i] = addVectors( a[i], b[i] );
}
return c;
}
Run Code Online (Sandbox Code Playgroud)
这两个函数都要求数组具有相同的大小以避免出现问题arrayOutOfBoundsException …
有没有可能创建具有可变维数的数组?
例如,
int x = 3;
// becomes
int[][][] array = new int[3][3][3];
//and
int y = 4;
//becomes
int[][][][] xray = new int[4][4][4][4];
Run Code Online (Sandbox Code Playgroud)
我的例子如此间接的部分原因是因为我不知道人们会如何做这样的事情。
如果我有一个变量,我想创建一个与该变量具有相同维数的数组