[英]Storing data from variable length xml files without classes or giant arrays Java
我正在使用具有4000多個xml文件的Java項目。 基本布局是:
<Codes>
<Code>
<Nums>
<Num>56</Num>
<Num>21</Num>
<Num>4</Num>
</Nums>
</Code>
</Codes>
這些xmls文件可以有任意數量的“ num”,甚至最多100,000+。 我知道xml文件的布局很奇怪,但是我無法更改布局,因為以后可以添加更多。
我需要導入這些數字(按xml文件分組)。 我已經創建了解析方法。 存儲它們的方式讓我感到困擾。 我可以建立一個GIANT int數組:
int [] [] nums = new int [4000] [100000]
但這將非常消耗內存,因為某些xml文件只有15個num條目(這使java進程的mem消耗增加了1gb)。 我想到的另一個選擇是為每個xml文件都有一個實例化類。 由於多種原因,我將無法執行此操作。
這些數字代表由照片組成的像素顏色。 數據不需要修改,只需由其他類讀取即可。
還有其他解決方法嗎?
謝謝您的幫助!
我不確定自己在做什么,但您可能應該認真考慮使用一些持久性技術,例如數據庫。
您似乎應該擔心內存問題,因為在內存中加載一堆文件(4000條帶有10萬行XML的文件)可能會浪費大量內存,而且訪問速度也很慢。 大型整數數組可能很快,但是您可能必須加載整個數組,導致啟動時間非常慢。
使用持久數據庫,您只需加載xml文件一次,之后即可快速訪問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.