我"TABLE A"在数据库中包含3列"COL 1" , "COL 2" and "COL 3",约有1000000(100万条)记录。
"TABLE A"
"COL 1" , "COL 2" and "COL 3"
1000000
我在这张桌子上映射了一个简单的POJO让我们说的"ClassA"带有3个实例变量的对象"var1" , "var2" , "var3",并在其中定义了set()和get()方法。
POJO
"ClassA"
"var1" , "var2" , "var3"
set()
get()
我的应用程序包含简单的JSP,Servlet和POJO,没有花哨的框架,也没有其他技术。
我真正想要的是,当我的应用程序第一次部署在Application Server上并且它收到的第一个请求时,仅针对该请求(仅1次),我的Servlet将从中获得1百万条记录TABLE A,您可能已经了解到,我现在将包含100万个对象,每个对象在中表示a 。将这些记录映射到ClassA并开始填充这些对象ClassA并将其保存在Vector或an 中。ArrayList``Vector/ArrayList``record/tupple``"TableA"
TABLE A
ClassA
ArrayList``Vector/ArrayList``record/tupple``"TableA"
好的,现在是真正困难的部分,我希望这Vector/ArrayList是stored/persisted/added应用程序上下文,VM或任何其他内存存储位置(实际上我不知道),以便每次JSP pages/Servlets访问对象时存储数据的内存而不是每次都访问数据库。
Vector/ArrayList
stored/persisted/added
pages/Servlets
你必须使用 的Java缓存系统 (见这里)或 的Ehcache (见这里的高速缓存)来存储数据, 控制反转 在 spring 也有助于在某种程度上,但不知道这是否会有助于存储在堆百万的数据,如堆内存有限。