MemoryMeasurement.java
package sk.iway.iwcm.system.monitoring;
/**
* MemoryMeasurement.java
*
* Used for measurements of consumed memory upon execution of a piece of code.
*
*@Title webjet7
*@Company Interway s.r.o. (www.interway.sk)
*@Copyright Interway s.r.o. (c) 2001-2010
*@author $Author: marosurbanec $
*@version $Revision: 1.3 $
*@created Date: 10.9.2010 15:33:58
*@modified $Date: 2004/08/16 06:26:11 $
*/
public class MemoryMeasurement
{
long usedMemoryAtLastCheck;
public MemoryMeasurement()
{
usedMemoryAtLastCheck = memoryNow();
}
protected long memoryNow()
{
Runtime rt = Runtime.getRuntime();
return rt.totalMemory() - rt.freeMemory();
}
/**
* Returns the memory difference since the object creation or
* since diff function has been called for the last time.
*
* @return long Memory difference
*/
public long diff()
{
long now = memoryNow();
long memoryDiff = now - usedMemoryAtLastCheck;
usedMemoryAtLastCheck = now;
return memoryDiff;
}
}