Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java程序与服务器的同步_Java_Synchronization_Client Server - Fatal编程技术网

Java程序与服务器的同步

Java程序与服务器的同步,java,synchronization,client-server,Java,Synchronization,Client Server,在学习Java的过程中,我遇到了很多关于如何以“最佳方式”编程的问题。聊天程序就是一个例子 当更改其状态、显示名称、显示图片或个人消息时,它会向服务器发送请求,服务器会将所有服务器数据保存在内存中。我的问题是:避免数据库I/O并在内存中保持所有内容的同步是否是一种好的做法。因此,如果用户更改了其显示名称,我是否应该更新服务器内存中的用户状态并在数据库中更新它?或者等到用户断开连接,然后将其信息写入数据库 我希望我明白了。这适用于所有不同类型的程序、同步设置等 我这样问是因为如果服务器崩溃,那么内

在学习Java的过程中,我遇到了很多关于如何以“最佳方式”编程的问题。聊天程序就是一个例子

当更改其状态、显示名称、显示图片或个人消息时,它会向服务器发送请求,服务器会将所有服务器数据保存在内存中。我的问题是:避免数据库I/O并在内存中保持所有内容的同步是否是一种好的做法。因此,如果用户更改了其显示名称,我是否应该更新服务器内存中的用户状态并在数据库中更新它?或者等到用户断开连接,然后将其信息写入数据库

我希望我明白了。这适用于所有不同类型的程序、同步设置等

我这样问是因为如果服务器崩溃,那么内存中的所有数据都不会保存在数据库中,用户信息也会回滚


谢谢大家。

对于这个问题,没有单一的最佳实践。充其量,可能有一些最佳实践涵盖了各种更具体的用例。正如OP评论中已经指出的,会出现各种问题,例如:

数据修改的频率 应用程序速度要求 可用内存 数据大小 陈旧数据的可接受性 丢失数据的可接受性
在你开始回答这些问题之前,没有人能给出具体的建议。

对于这个问题,没有单一的最佳实践。充其量,可能有一些最佳实践涵盖了各种更具体的用例。正如OP评论中已经指出的,会出现各种问题,例如:

数据修改的频率 应用程序速度要求 可用内存 数据大小 陈旧数据的可接受性 丢失数据的可接受性
在你开始回答这些问题之前,没有人能给出具体的建议。

你认为哪种情况会更频繁发生-用户更改姓名,还是用户断开连接?断开与我的体验的连接?因此,如果你在信息更改时更新数据库,您将拥有更少的数据库查询和更好的数据持久性?选择似乎很清楚。您认为哪种事件会发生得更频繁-用户更改名称,还是用户断开连接?断开与我的体验的连接?因此,如果在信息更改时进行数据库更新,您将拥有更少的数据库查询和更好的数据持久性?选择似乎很明确。谢谢,我会考虑这些因素。谢谢,我会考虑这些因素。