每当我的代码发生变化时,我想调用一些昂贵的更新方法.我在Eclipse中点击ctrl-s,这会触发文件保存和热代码替换,我的程序检查文件是否已保存,花费大约5秒钟处理数字,然后更新屏幕.
我正在使用这个东西,我每秒调用几次:
public static long lastSourceUpdate=0;
private static boolean wasUpdated() {
File source = new File("/home/user/workspace/package/AClass.java");
long t = source.lastModified();
if (t>lastSourceUpdate+2000) { // wait for hcr
lastSourceUpdate=t;
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
这种方法存在问题:
那么,检查代码何时更改的最佳方法是什么?或许反思?serialVersionUID检查?它不像类本身有compilationDate字段 - 或者它们呢?Eclipse更新了一些秘密价值吗?是否有Eclipse随每次保存而更改的文件?
谢谢你检查一下.