在Java中强制内存分配

时间:2011-11-15 18:31:06

标签: java memory-management jvm bytearray

我知道Java中没有明确要求内存分配,因为JVM处理幕后分配。即使我不需要分配内存,为了测试内存贪婪的应用程序,我怎么能保存一定数量字节的对象?

当前的解决方案是实例化基元'byte'的数组。如果我想保存5 MB的对象,我会创建一个字节数组。

byte[] b = new byte[5000000];

是否有更好的方法在Java JVM中显式分配内存,只是为了创建/释放某些单元测试的已知大小的对象?

1 个答案:

答案 0 :(得分:0)

实际上并没有更好的方法。 '新'是显式占用内存的唯一方法(例如,通过调用方法来分配堆栈除外)。

byte b = new byte[MEM_SIZE];

是最可控的方式。由于对象开销,它不会准确分配5000000字节,但它非常接近。