Java声明持久化静态变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java声明持久化静态变量相关的知识,希望对你有一定的参考价值。
我有一个课程,我需要在其中创建一个独特的计数器,类似于:
public class Foo {
private static int FOO_COUNT = 0
public static getNextCount(){
return ++FOO_COUNT;
}
//... more methods...
}
计数器值必须在Java VM重新启动,应用程序重新部署等之间保持不变,以便在整个应用程序生命周期中提供连续计数器。
如何(以及如果)可以实现(最好不使用DB或类似的持久性机制)?
答案
您需要序列化您的对象,然后您可以像以下一样保存它:例如:
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...
}
以上是关于Java声明持久化静态变量的主要内容,如果未能解决你的问题,请参考以下文章