将数据存储在内存中

Mik*_*ese 5 java jsp servlets pojo

"TABLE A"在数据库中包含3列"COL 1" , "COL 2" and "COL 3",大约有1000000(1百万)条记录.

对于这个表我已经映射了一个简单的POJO让我们说"ClassA"3个实例变量,"var1" , "var2" , "var3"并在那里定义set()get()方法.

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

我真正想要的是,当我第一次将我的应用程序部署在Application Server上并且它收到的第一个请求时,只有那个请求(只有一次),我的Servlet将获得100万条记录TABLE A,映射ClassA的这些记录,并开始填充的对象ClassA,并让他们在一个Vector或ArrayList,你可能已经明白,我的Vector/ArrayList意志现在包含有代表每个对象1名亿个对象record/tupple"TableA".

好的,现在来到真实和困难的部分,我希望这Vector/ArrayListstored/persisted/added应用程序上下文或VM或任何其他内存存储位置(实际上我不知道),以便每次我的JSP pages/Servlets访问对象为了获取数据而不是每次都访问数据库.

小智 2

你必须使用Java Caching System参见这里)或Ehcache参见这里)将数据存储在缓存中,Spring中的控制反转也有一定帮助,但不确定它是否有助于在堆中存储100万个数据,因为堆记忆力有限。