Oma*_*ada 3 java unit-testing memory-management
我有一个简单的pojos(一个User类)列表,其中包含大约15个简单字段和1个arrayList.那些代表用户并且可能100或1000个将存储在内存中以避免每次从外部系统检索它们.(我正在使用Ehcache)
我想通过junit测试知道这些用户的K列表使用了多少内存. 我有直觉认为简单的pojo就像那些即使是1000个也不会以任何方式威胁(换言之,小于100 Ko)
在此先感谢您的回复.我非常感谢你的帮助.
dog*_*ane 11
您可以在创建对象之前和之后计算JRE使用的内存,以便估计对象使用的字节数.
System.gc();
System.runFinalization();
Thread.sleep(1000);
long before = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
//build object here
System.gc();
System.runFinalization();
Thread.sleep(1000);
long after = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
long objectSize = after - before;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4120 次 |
| 最近记录: |