首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java单元测试:如何度量方法调用的内存占用

Java单元测试:如何度量方法调用的内存占用
EN

Stack Overflow用户
提问于 2013-11-05 09:13:25
回答 7查看 35.1K关注 0票数 46

假设我有一个类,它执行一些繁重的处理,操作几个集合。我想要做的是确保这样的操作不会导致内存不足,或者更好的是,我希望设置一个阈值,说明它可以使用多少内存。

代码语言:javascript
复制
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?
   }
}

做这件事的正确方法是什么?还是这不可能/不可行?

EN

Stack Overflow用户

发布于 2013-11-05 09:20:40

要测量当前内存的使用情况,请使用:

Runtime.getRuntime().freeMemory()Runtime.getRuntime().totalMemory()

下面是一个很好的例子:获取操作系统级系统信息

但是这个测量不精确,但是它可以给你很多信息。另一个问题是GC,这是不可预测的。

票数 5
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19785290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档