Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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_Oop_Security_Arraylist - Fatal编程技术网

在JAVA中将对象保存到数据结构或文件

在JAVA中将对象保存到数据结构或文件,java,oop,security,arraylist,Java,Oop,Security,Arraylist,兰格 爪哇 应用程序: 患者查看器/创建者 问题: 我应该如何处理正在创建的对象? 在创建患者对象时将其保存到结构中有哪些负面影响?有什么好消息吗? 目前的执行情况: 我最初的想法是创建ArrayList或Map,并在创建患者对象时将其保存到数据结构中。做了一点研究,我发现做这样的事情可能不是最安全的,比如内存泄漏。还有什么不好的地方吗 public class PatientApp { public static void main(String[] args) { ArrayLi

兰格

爪哇

应用程序:

患者查看器/创建者

问题:

我应该如何处理正在创建的对象? 在创建患者对象时将其保存到结构中有哪些负面影响?有什么好消息吗? 目前的执行情况:

我最初的想法是创建ArrayList或Map,并在创建患者对象时将其保存到数据结构中。做了一点研究,我发现做这样的事情可能不是最安全的,比如内存泄漏。还有什么不好的地方吗

public class PatientApp {
  public static void main(String[] args) {
    ArrayList<Patient> patientList = new ArrayList<>();
    Patient patient = new Patient();
    patientList.add(patient);
  }
}
然后我想我可以将患者对象保存到一个文件中,并在需要检索患者信息时加载该文件。这是一个更好的实现吗?

您应该通过Patient类实现Java Serializable接口,还要注意Patient类不包含任何不可序列化的属性,并尝试将其限制在基本属性类型内。这样您就可以轻松地将类Patient的对象保存到文件中,也可以通过网络进行传输

实际上,您应该将患者信息保存在存储中,例如数据库。此外,请记住,除非在主存(即RAM)中重新创建或恢复其保存状态,否则无法处理保存在辅助存储器中的对象。所以,如果你想同时对多个病人做一些手术!您应该像数据结构一样将它们保存在列表中,而不是保存在文件中


要了解更多信息,请搜索Java对象序列化

这取决于你的要求。患者对象的范围是什么?Arraylist和其他数据结构不是永久存储,因此我们无法将这些数据结构与永久存储(如文件或数据库)进行比较。

不清楚您的要求。您可能想阅读有关在DB中存储或序列化的内容,谢谢。为了确保我的想法正确&在创建Patient对象并设置属性时,我应该将其保存到DB中。如果我想对其进行操作,我必须将患者从数据库加载到数据结构上?要对数据(即患者实例)进行操作,您必须将其保存在RAM中的数据结构中,但内存泄漏是您关心的问题,您必须以确保无内存泄漏的方式编程;系统错误可能是一个例外。但是,如果您需要保存它们以供进一步使用,例如重新启动后,您必须使用永久存储,如文件或数据库。