检测JVM工具类

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Timer;
import java.util.TimerTask;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;


/**
 * @author 作者:LzwGLory E-mail: 137268431@qq.com
 * @version 创建时间:2014年8月19日 上午11:46:30 类说明
 * 检测JVM工具类
 */
public class GCTimerTask extends TimerTask implements ServletContextListener{
	private static GCTimerTask instance = null;

//	public GCTimerTask(){//項目啟動時執行
//		instance=new GCTimerTask();
//		instance.startWork();
//		instance.run();
//	}
	public void run() {
		Calendar cal = new GregorianCalendar();
		int hour24 = cal.get(Calendar.HOUR_OF_DAY); // 0..23

		int min = cal.get(Calendar.MINUTE); // 0..59

		System.out.print("[" + String.valueOf(hour24) + ":"
				+ String.valueOf(min) + "]");
		System.out.println("JVM可用内存:" + java.lang.Runtime.getRuntime().

		freeMemory() / (1024 * 1024) + "M/"
				+ java.lang.Runtime.getRuntime().totalMemory() /

				(1024 * 1024) + "M");
		System.gc();
	}

	private void startWork() {
		Timer t = new Timer();
		t.schedule(instance, 0, 1000 * 60);
		
	}

	public static GCTimerTask getInstance() {
		if (instance == null) {
			instance = new GCTimerTask();
			instance.startWork();
		}
		return instance;
	}
	@Override
	public void contextInitialized(ServletContextEvent arg0) {
		// TODO Auto-generated method stub
		getInstance().run();
		
	}
	@Override
	public void contextDestroyed(ServletContextEvent arg0) {
		// TODO Auto-generated method stub
		
	}



<!-- 监听内存使用量 -->
	<listener>
		<listener-class>cn.itcast.oa.tools.GCTimerTask</listener-class>
	</listener>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值