Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package net.sf.kerner.utils.monitor.memory;
 
 
 public class SimpleMemoryMonitor implements MemoryMonitor {
 
     private long max = -1;
 
     private long average = 0;
    private final LongUnit unit;
    private final long interval;
    private final Object lock = new Object();
    private Thread t = new Thread() {
        public void run() {
            while (!.isInterrupted()) {
                synchronized () {
                    final long current = getCurrentUsage();
                    if ( < current)
                         = current;
                     = ( + current) / 2;
                }
                try {
                    sleep();
                } catch (InterruptedException e) {
                    break;
                }
            }
        };
    };
    public SimpleMemoryMonitor(LongUnit unitlong interval) {
        super();
        this. = unit;
        this. = interval;
    }
    public SimpleMemoryMonitor(long interval) {
        this(interval);
    }
    public SimpleMemoryMonitor() {
        this(, 2000);
    }
    public long getCurrentUsage() {
        return getCurrentUsage(this.);
    }
    public long getCurrentUsage(LongUnit unit) {
        final long result = unit.convert(Runtime.getRuntime().totalMemory(), .);
        // System.out.println("convert from " +
        // Runtime.getRuntime().totalMemory() + " to " + result);
        return result;
    }
    public synchronized long getMaxUsage() {
        return getMaxUsage(this.);
    }
    public synchronized long getMaxUsage(LongUnit unit) {
        return this..convert(unit);
    }
    public synchronized long getAverageUsage() {
        return getAverageUsage(this.);
    }
    public synchronized long getAverageUsage(LongUnit unit) {
        return this..convert(unit);
    }
    public void start() {
        .start();
    }
    public synchronized long stop() {
        .interrupt();
        return getCurrentUsage();
    }
    public LongUnit getUnit() {
        return this.;
    }
New to GrepCode? Check out our FAQ X