Java与windows注册表

Java与windows注册表,java,windows-xp,Java,Windows Xp,windows注册表包含布尔值、DWORD、字符串、位图、双精度、日期时间、位图 java没有。连接到:-DWords对于longinger和Boolean都很容易。 Java只在DateTime和Double数字大于实数时处理实数。这是否意味着您不能用Java记录日期和时间,而双精度将被缩减为一个真实的时间。货币是用实数处理的。 我正在考虑将所有这些转换为字符串,并在重新记录的命名中使用编码系统,但这会导致处理成本和进一步的延迟。 windows注册表的另一个特点是,它有一个延迟写入。Java

windows注册表包含布尔值、DWORD、字符串、位图、双精度、日期时间、位图 java没有。连接到:-DWords对于longinger和Boolean都很容易。 Java只在DateTime和Double数字大于实数时处理实数。这是否意味着您不能用Java记录日期和时间,而双精度将被缩减为一个真实的时间。货币是用实数处理的。 我正在考虑将所有这些转换为字符串,并在重新记录的命名中使用编码系统,但这会导致处理成本和进一步的延迟。 windows注册表的另一个特点是,它有一个延迟写入。Java是否可以对注册表进行延迟写入。这是一个重要的节省时间的方法,不必等待硬盘来参考它自己。通常,这些记录放在注册表中只是为了在我的程序和java之间读取,以进行muilti线程转换并进行数据管理

请问有人做过这样的事吗
java本身并没有很好地记录它。

Windows注册表也有二进制数据(如java中的字节[])-您可以序列化任何java对象(仅使用ObjectOutputStream)并将其存储在注册表中,但是使用Regedit很难编辑

所有Windows注册表操作都委派给advapi32.dll,无论您使用哪个库。我不知道Windows 7现在是如何运行的,但几年前所有的advapi注册表操作都是同步的,所以您需要等待结果。若它并没有改变,你们所能做的就是应用生产者-消费者方法生产者线程可以将新的注册表数据写入队列,而无需等待它们真正写入注册表,然后使用者从队列读取此数据并执行实际写入


您提到您使用注册表进行程序间通信。这是一种非常糟糕和缓慢的方式,最好使用套接字,它们速度更快,而且可以异步。

问题是什么?考虑a)更新标题,b)以示例转换为不同的小问题