[英]Java declare persistent static variable
我有一个类,需要在其中创建一个唯一的计数器,如下所示:
public class Foo {
private static int FOO_COUNT = 0
public static getNextCount(){
return ++FOO_COUNT;
}
//... more methods...
}
计数器值必须在Java VM重新启动,应用程序重新部署等之间保持不变,以便在整个应用程序生命周期中提供连续的计数器。
如何(以及是否)可以实现(最好不借助数据库或类似的持久性机制)?
您需要序列化对象,然后可以像这样将其保存到本地,例如:
import java.io.*;
public class SerializeDemo {
public static void main(String [] args) {
private static int FOO_COUNT = 0;
try {
FileOutputStream fileOut =
new FileOutputStream("/tmp/save.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(FOO_COUNT);
out.close();
fileOut.close();
System.out.printf("Serialized data is saved in /tmp/save.ser");
} catch (IOException i) {
i.printStackTrace();
}
}
}
public class Foo implements java.io.Serializable {
private static int FOO_COUNT = 0
public static getNextCount(){
return ++FOO_COUNT;
}
//... more methods...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.