[問題] 請問不使用緩衝讀取,和用大量物件儲存數據的缺點?

看板java作者 (Bacon)時間10年前 (2014/08/30 15:48), 10年前編輯推噓4(408)
留言12則, 3人參與, 最新討論串1/2 (看更多)
read load,如果不使用緩衝區,除了因為直接硬碟讀寫,可能比較慢之外 還會有什麼缺點嗎? 還有就是,最近在算數據時,都會先把數據大量讀入程式,理論上就是先放入了RAM 這樣在運算數據時會比較快,每筆數據我用一個物件儲存,物件中約有10來個變數, 總共會有30萬~75萬個物件。 可是RAM好容易就爆掉,不知道是真的數據太大,還是我程式的缺陷,還是java的缺陷。 大家有任何的建議嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.118.173.46 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1409384934.A.8DB.html ※ 編輯: baconcsie (122.118.173.46), 08/30/2014 15:49:34

08/30 17:38, , 1F
在compile的時後可以加一些flag去指定用到的記憶體大小
08/30 17:38, 1F

08/30 17:39, , 2F
你有加嗎?
08/30 17:39, 2F
這方面的技術跟指令,我從未用過耶,可以給我關鍵字google,或是說的詳細點嗎? ※ 編輯: baconcsie (122.118.173.46), 08/30/2014 17:59:29

08/30 19:18, , 3F
樓上講的應該是執行的 -Xmx 這個 flag 吧...
08/30 19:18, 3F

08/30 19:18, , 4F
跟編譯期沒有關係, 是在執行時指定的
08/30 19:18, 4F

08/30 19:19, , 5F
google 可以直接搜尋「java Xmx」
08/30 19:19, 5F

08/30 22:08, , 6F
是的就是這個,謝謝樓上更正
08/30 22:08, 6F

08/31 00:02, , 7F
java似乎沒有直接支援unbuffered disk io...
08/31 00:02, 7F

08/31 00:03, , 8F
socket是有 所以真的想unbuffered只能這樣連起來
08/31 00:03, 8F

08/31 00:04, , 9F
另外會爆除了Xmx以外 還有一個permgen也是個可能點
08/31 00:04, 9F

08/31 00:04, , 10F
可以拿這關鍵字看怎麼改,通常好發於極大量class數量
08/31 00:04, 10F

08/31 00:05, , 11F
...er.. java的write/read算可以支援unbuffered啦
08/31 00:05, 11F

08/31 00:06, , 12F
只是通常都會自己拿個buffer去把他兜起來
08/31 00:06, 12F
文章代碼(AID): #1K0O7cZR (java)
文章代碼(AID): #1K0O7cZR (java)