小编use*_*566的帖子

java - 原子地写两个文件

我面临一个问题,我没有一个干净的解决方案.我正在编写Java应用程序,应用程序将某些数据存储在一组有限的文件中.我们没有使用任何数据库,只是普通文件.由于某些用户触发的操作,需要更改某些文件.我需要这是一个全有或全无的操作.也就是说,要么更新所有文件,要么不更新任何文件.如果例如5个文件中的2个被更改,而其他3个不是由于某些IOException,则是灾难性的.

实现这一目标的最佳策略是什么?嵌入内存数据库,例如hsqldb,是获得这种原子性/事务行为的一个很好的理由吗?

非常感谢!

java io transactions file atomic

6
推荐指数
1
解决办法
1454
查看次数

Java - 泛型和通配符以及接口与实现

我有一个关于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)

java generics

6
推荐指数
1
解决办法
313
查看次数

标签 统计

java ×2

atomic ×1

file ×1

generics ×1

io ×1

transactions ×1