Java单元测试:如何测量方法调用的内存占用量
2022-09-01 01:04:46
假设我有一个类,它执行一些繁重的处理,对多个集合进行操作。我想做的是确保这样的操作不会导致内存不足,或者更好的是,我想设置一个可以使用多少内存的阈值。
class MyClass()
{
public void myMethod()
{
for(int i=0; i<10000000; i++)
{
// Allocate some memory, may be several collections
}
}
}
class MyClassTest
{
@Test
public void myMethod_makeSureMemoryFootprintIsNotBiggerThanMax()
{
new MyClass().myMethod();
// How do I measure amount of memory it may try to allocate?
}
}
正确的方法是什么?或者这是不可能的/不可行的?