我知道Java中没有明确要求内存分配,因为JVM处理幕后分配。即使我不需要分配内存,为了测试内存贪婪的应用程序,我怎么能保存一定数量字节的对象?
当前的解决方案是实例化基元'byte'的数组。如果我想保存5 MB的对象,我会创建一个字节数组。
byte[] b = new byte[5000000];
是否有更好的方法在Java JVM中显式分配内存,只是为了创建/释放某些单元测试的已知大小的对象?
答案 0 :(得分:0)
实际上并没有更好的方法。 '新'是显式占用内存的唯一方法(例如,通过调用方法来分配堆栈除外)。
byte b = new byte[MEM_SIZE];
是最可控的方式。由于对象开销,它不会准确分配5000000字节,但它非常接近。