簡體   English   中英

從不帶類或巨型數組的Java可變長度xml文件中存儲數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM