我們的應用程序是一個基於gigaspace的解決方案,它基本上從多個平面文件中讀取並將數據存儲在一個對象中。現在平面文件基本上包含一些裝運細節。因此,我們有多個文件java中的內存有效集合
- 船塢詳細
- 集裝箱詳情
- 貨運詳情
- 等
現在我們有Dockyard
作爲父對象下有可裝運許多對象細節。我們目前使用ArrayList
來維護近5萬個船塢詳細對象的裝運細節。目前的數據量表明,對於每個Dockyard
對象,我們將不得不維護大約1500個裝運細節對象,並且將有近5萬個船塢對象躺在堆中。我們目前的堆是8GB。
所以想知道如果ArrayList的是要保持這麼多的目標的最佳途徑。我已經尋找其他的API,如trove
,HPPC
,但它們大多在原始收集時提供好處。我們將是一個對象的集合。所以除了增加堆大小。有人可以建議任何其他更好的選擇。
當數據的大小如此之大時,將數據保存在應用程序的內存中永遠不是一個好主意。 – afzalex
我同意這一點,但最初我們並沒有期待這麼多的數據,所以內存中的數據網格似乎是一個快速和良好的解決方案,並且回溯,改變設計對我們來說將是一個相當大的挑戰,因爲我們正在接近UAT測試。 –
你最好很快找出別的東西。如果你最初沒有預料到這麼多的數據,你覺得事情將在6個月後如何。你的實現不會擴展。 – Andreas