gpt4 book ai didi

Java util Preferences 大约每 30 秒持续访问一次磁盘

转载 作者:搜寻专家 更新时间:2023-10-31 20:12:42 25 4
gpt4 key购买 nike

我们的应用程序使用 java.util.prefs.Preferences 类来存储一些用户数据字段。下面是我们首选项类的代码片段。我们的首选项存储工作正常,但是我们注意到首选项继续大约每 30 秒左右进行一次磁盘访问。有没有办法在 Preferences 类中禁用这些后台磁盘访问? (.userRootModeFile.root 大约每 30 秒更改一次)

public class NtapPreferences {

private static Preferences prefs = Preferences.userRoot(); //.systemRoot();

/** Prepends "NTAP.<applicationName>." to 'key' for system-wide uniqueness. */
private static String getKeyForApp ( String key ) {
return "NTAP." + Application.getApplicationName() + "." + key;
}

/**
* Returns the application preference value for 'key'.<br/>
* <br/>
* If 'key' is not a defined preference, then 'def' is returned.
*/
public static String get ( String key, String def ) {
return prefs.get(getKeyForApp(key), def);
}

/** Sets the application preference value for 'key' as 'value'. */
public static void put ( String key, String value ) {
//TODO how do we want to resolve failures to put data in the preferences?
try {
prefs.put(getKeyForApp(key), value);
prefs.flush();
} catch (NullPointerException e) {
LOG.error(NtapPreferences.class, e);
} catch (IllegalArgumentException e) {
LOG.error(NtapPreferences.class, e);
} catch (IllegalStateException e) {
LOG.error(NtapPreferences.class, e);
} catch (BackingStoreException e) {
LOG.error(NtapPreferences.class, e);
}
}

/** Removes the application preference value for 'key' if one is defined. */
public static void remove ( String key ) {
prefs.remove(getKeyForApp(key));
}

最佳答案

此行为由名为“java.util.prefs.syncInterval”的系统属性控制。这给出了同步之间的间隔(以秒为单位)作为整数 (int) 值的字符串。你不能完全关闭同步,但你可以将间隔设置为一个非常大的值......虽然有一个上限(我/我们认为)597 天,由于代码将间隔转换为毫秒的方式.

引用:

关于Java util Preferences 大约每 30 秒持续访问一次磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17376200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com