我面临一个问题,我没有一个干净的解决方案.我正在编写Java应用程序,应用程序将某些数据存储在一组有限的文件中.我们没有使用任何数据库,只是普通文件.由于某些用户触发的操作,需要更改某些文件.我需要这是一个全有或全无的操作.也就是说,要么更新所有文件,要么不更新任何文件.如果例如5个文件中的2个被更改,而其他3个不是由于某些IOException,则是灾难性的.
实现这一目标的最佳策略是什么?嵌入内存数据库,例如hsqldb,是获得这种原子性/事务行为的一个很好的理由吗?
非常感谢!
我有一个关于Java泛型的问题.说我有以下界面:
public static class Something<T> {
public void set(T t) {
}
}
public static interface Manager<T> {
public void add(final String key, final Something<T> o);
public Something<T> get(final String key);
}
Run Code Online (Sandbox Code Playgroud)
用法示例:
final Manager<Number> m = ...;
m.add("key", new Something<Number>());
m.get("key").set(new Integer(5));
Run Code Online (Sandbox Code Playgroud)
我也想能够添加Something<Integer>,Something<Double>......到一个Manager<Number>.我会说我必须更改add-function的签名:
public static interface Manager<T> {
public void add(final String key, final Something<? extends T> o);
public Something<T> get(final String key);
}
final Manager<Number> m = ...;
m.add("key", new Something<Integer>());
m.get("key").set(new …Run Code Online (Sandbox Code Playgroud)