我有一張大約20列的表,主要由varchars和小數組成。這張桌子有近150萬行。但是他們中很少有東西是常見的,比如column1只包含100個不同的字符串,column2幾乎有1000個,而column3有近500個。如何通過在Java中壓縮我的對象來減少總內存佔用率?
現在,我將所有這些列值存儲在Key中作爲前5列,數據作爲其餘列。我的任務是這樣的,我需要在任務開始時初始化所有這些。
我應該使用什麼模式(如Flyweight等)或數據結構來最小化我的對象存儲?
爲什麼我需要預加載所有數據?
假設表格的全部數據爲樹,受害者可以位於任何葉,樹幹或根目錄。因此,對於每個條目[這是來自不同的地方],我需要看看樹中是否有任何匹配。
你的意思是http://java.sun.com/j2se/1.5.0/docs/api/java/lang/CharSequence.html,但這將如何幫助我的案例 – DKSRathore 2009-12-02 13:43:39
如果你可以自由地用CharSequence替換String在你的上下文中,你可以有一個自定義的實現,比通用的String實現更好地執行。 – 2009-12-02 13:49:30
我認爲這可能有幫助,但無法實現這一點。你可以提供一些實現或一些好的鏈接的細節? – DKSRathore 2009-12-02 13:55:08