Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.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_Jsp_Servlets_Pojo - Fatal编程技术网

Java 在存储器中存储数据

Java 在存储器中存储数据,java,jsp,servlets,pojo,Java,Jsp,Servlets,Pojo,我在数据库中有“表A”,它包含3列“COL 1”、“COL 2”和“COL 3”,大约有1000000(100万)条记录 在这个表中,我映射了一个简单的POJO让我们说“ClassA”和3个实例变量“var1”、“var2”、“var3”,并在那里定义了set()和get()方法 我的应用程序包含简单的JSP、servlet和POJO,没有花哨的框架和其他技术 我真正想要的是,当我的应用程序第一次部署到应用程序服务器上时,以及它收到的第一个请求时,仅对于该请求(仅1次),我的Servlet将从表

我在数据库中有
“表A”
,它包含3列
“COL 1”、“COL 2”和“COL 3”
,大约有
1000000(100万)条记录

在这个表中,我映射了一个简单的
POJO
让我们说
“ClassA”
和3个实例变量
“var1”、“var2”、“var3”
,并在那里定义了
set()
get()
方法

我的应用程序包含简单的JSP、servlet和POJO,没有花哨的框架和其他技术

我真正想要的是,当我的应用程序第一次部署到应用程序服务器上时,以及它收到的第一个请求时,仅对于该请求(仅1次),我的Servlet将从
表A
中获取100万条记录,用这些记录映射ClassA,并开始填充
ClassA
的对象,并将它们保存在向量或
ArrayList
中,正如您可能已经了解的那样,my
Vector/ArrayList
现在将包含100万个对象,每个对象表示
表a
中的
记录/元组


好的,现在进入真正困难的部分,我希望这个
Vector/ArrayList
存储/持久化/添加到应用程序上下文或VM或任何其他内存存储位置(实际上我不知道),因此,每次我的JSP
页面/servlet
访问内存中的对象时,都是为了获取数据,而不是每次都访问数据库

您必须使用Java缓存系统()或Ehcache()在缓存中存储数据,Spring中的控制反转在某种程度上也有帮助,但不确定它是否有助于在堆中存储100万数据,因为堆内存有限。

看起来您需要缓存,如果我没弄错的话。 我建议您在或在这里看一看


希望这有帮助

我想您正在寻找缓存对象的方法

你可能想看看

或者


由于您拥有大型对象,您可以研究如何实现对象存储库,例如,

为什么不使用内存中的数据库,如hsqldb,它将充当缓存,您可以使用您最喜欢的SQL语句—在应用程序初始化时填充它。另一种选择是使用缓存解决方案,如JBoss infinispan。