java定时清理缓存
时间: 2023-07-04 19:07:29 浏览: 58
你可以使用 Java 的 Timer 和 TimerTask 类来定时清理缓存。
下面是一个简单的示例代码:
```java
import java.util.Timer;
import java.util.TimerTask;
public class CacheCleaner {
private Timer timer;
public CacheCleaner(int interval) {
timer = new Timer();
timer.schedule(new CacheCleanupTask(), 0, interval);
}
private class CacheCleanupTask extends TimerTask {
@Override
public void run() {
// 在这里编写清理缓存的代码
System.out.println("Cleaning cache...");
}
}
}
```
在上面的代码中,CacheCleaner 类创建了一个 Timer 对象,并使用 schedule 方法调度了一个 CacheCleanupTask 任务,该任务将在 0 毫秒后开始执行,并且每隔 interval 毫秒执行一次。
你可以根据自己的需要编写具体的清理缓存代码,并将其放在 CacheCleanupTask 的 run 方法中。例如,你可以使用类似下面的代码清理缓存:
```java
File cacheDir = new File("path/to/cache/dir");
for (File file : cacheDir.listFiles()) {
if (file.isFile() && file.lastModified() < System.currentTimeMillis() - 24 * 60 * 60 * 1000) {
file.delete();
}
}
```
上面的代码会删除所有最后修改时间早于 24 小时前的文件。