java 怎么样让代码一天就执行一次,根据时间,前提 不能使用任务调度,来吧大神们

java 怎么样让代码一天就执行一次,根据时间来判断,前提 不能使用任务调度,因为在前端这个页面每三分钟刷新一次,访问的jsp其中有些方法不需要执行,这些方法一天执行一次就可以

这种钻牛角尖的问题,悬赏不够

不用任务调度,用多线程写个无限循环,在里面根据你给定时间,隔一段时间我就运行去检查下,到了你指定的时间,我就执行你所要执行的任务,这样符合你的要求吗?

设置个开关,第一次刷新,开关=true,方法执行一次,之后开关=false关闭,每次刷新检测过了一天没有,过了就打开开关=tru

spring/applicationContext.xml中配置定时器 定时每天执行一次不就行啦

  <task:scheduled-tasks>    
        <!-- ref是工作类  method是工作类中要执行的方法      cron是执行时间     0 0 0 * * ?是每天0点执行一次   0 */1 * * * ? 一分钟一次 -->    
        <task:scheduled ref="recycleTask" method="removeRecycle" cron="0 0 0 * * ?"/>    <!-- 定时器 :回收站-->
        <task:scheduled ref="messageTask" method="removeMessage" cron="0 0 0 * * ?"/>    <!-- 定时器 :消息盒子-->
    </task:scheduled-tasks>    

循环加上一个计时就好了,到了标记的点就结束

现成的quartz 包。新建个job,里面放个task就好了。这种周期性进行刷新和执行的,很多项目用得很普遍。很成熟的东西

不用纠结。这个问题很简单。 利用缓存+过期时间。

1. 第一次被调用,查找缓存,无数据,执行此函数 , 并将结果放入 内存中(一个对象,静态变量都行) 并写入一个字段过期时间(当前时间+24小时)。
2. 第二次 调用 查找缓存,有数据,判断过期时间。未过期返回结果, 过期 重复 上述 1 操作。

你可以每次都访问数据库时间,存一个时间,对比时间来实现

自己开一个线程, 线程里面写个循环 计算出你的间隔时间, 循环完一次 线程睡眠对应的间隔时间.