问题描述
昨天是2012-12-20,在一个继承TimerTask的定时类里,有Calendar calendar = Calendar.getInstance();按理说每天定时跑一回,这里取到的日期应该是当天的,可是昨天看控制台打印日志竟然是13号,取日子的代码用的calendar.get(Calendar.DAY_OF_MONTH)后来我查了近几天的日志,连续好几天都是打印的13号,今天我问同事,说是13号发过一回版,那就是13号启的weblogic,可是这有什么关系呢,每天定时任务不是会重新取calendar对象嘛
解决方案
引用Calendar calendar = Calendar.getInstance(); 看是全局变量还是局部变量了,按你的需求应该把它放在方法中作为局部变量
解决方案二:
JAVA是多线程的,允许资源共享;根据你现在的结果来看,应该是获取了以前的对象。再仔细检查一下代码吧。
解决方案三:
难道是世界末日了吗?
时间: 2024-10-22 12:31:08