Re: [問題] 陣列問題
先跟你說, 我回這篇可能看起來不太客氣..
※ 引述《tstanly ()》之銘言:
: dear 各位
: 今天做了一點測試
: 以下是我的一小部分code
: ====================================
諒刪, 不過你列出來的 code 有幫助你解決這個問題的陳述嘛?
: =========================================================
: 我的問題主要是做完fastareadin()和class_value_handle()這兩件function後
: 前者是做將資料讀入 後者是計算資料的類別值之類動作
所以呢? 這幾句話有講明他們對陣列的影響跟裡面數值的影響, 坐落範圍嗎?
: 會大量宣告以下五個array
: 分別是freq_array, trans_array, u_y, Pr_jy, entropy
: 現在我先把後面四個陣列宣告先註解掉
你都註解了還擺出來幹麻, 如果你是記憶體不足
為什麼不直接把你需要的最大需要空間大小列出來?
前面 t 大不是教你怎麼算?
: 先看freq_array這個陣列
: 首先k值是從fastareadin()這個function得到
: 以此例子來說 k會等於5000
: 而mer值是我設定的 例如當我設定mer=8
: 所以 freq_array=new int[5000][65536+1]; (因為4^8=65536)
k 跟 mer 可能等於多少有什麼意義嗎
還是以後 mer 可能可以 30 的時候又再上來問一次?
: 這時候eclipse就會出現
: Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
: 的error
: 也就是說我的main裡面只執行這幾行就會出現這error
: 所以明顯錯誤是因為freq_array的無法宣告...
: 而我的eclipse有設定memory的參數
: -Xmx1024M
: 加到最大了..加不上去了..= =
: 請問我的問題有辦法解決嗎...
: 我自己的爛方法是宣告多個陣列再合起來
從你這篇的文章上看起來, 這個問題跟之前問的不一樣的地方
就是你做了 -Xmx 跟 分陣列 兩種努力...
: 老師的建議是
: 將所有資料都寫在file 也就是不要宣告陣列...
問題是, 推文中 T 大跟你老闆類似的建議你沒有去做做看
: 但我還是想宣告陣列啊....因為code都寫好了
寫好了就改進阿
: mer=1~10 只有當mer=8,9,10才會出問題..........
(恕刪)
你是個做研究的, 所以我沒跟你說你得解釋那些 func..
如果可以的話建議考慮練習使用 method 這個名詞來稱呼
所以我沒要你解釋那些 method 的意義,
也沒要說你得揭露程式碼或虛擬碼.
上面那些東西請你保管好好. 留著自己看就好了.
講更白一點, 說不定你拿出來我們還嫌浪費時間.
還要幫你 review.
但是今天既然都已經知道問題是記憶體不足
為什麼陣列最大可能會出現的大小沒有說明
裡面的數值從多少到多少沒有說明
可能你根本不需要 int 啊
更大的問題是, 已經有兩個以上的人類跟你建議一個可能可行的方法
你不嚐試的原因不是因為說 IO 導致執行過慢等等比較光冕堂皇的理由
單單只是不想做修改... *shrug
最後, 跟你講, 寫這篇不是要鞭你,
而是任何人 (包含你) 看完這篇以後
可以認真思考一下提問的關聯性
並藉此獲得點什麼東西, 這篇文章就有意義了
前面被我回的不客氣不只你一個.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.32.42
推
01/16 14:31, , 1F
01/16 14:31, 1F
推
01/16 14:42, , 2F
01/16 14:42, 2F
→
01/16 22:31, , 3F
01/16 22:31, 3F
→
01/16 22:33, , 4F
01/16 22:33, 4F
→
01/16 22:37, , 5F
01/16 22:37, 5F
推
01/17 20:54, , 6F
01/17 20:54, 6F
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章