作者del680202 (飄落的櫻花)
看板java
標題Re: [問題] 效能上的問題
時間Sat May 10 01:56:08 2008
※ 引述《H45 (!H45)》之銘言:
: 在字串右邊補空白
: API DOC:
: http://commons.apache.org/lang/api-release/index.html
: class StringUtils
: static java.lang.String rightPad(java.lang.String str, int size)
: Source Code:
: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/java/org/apache/commons/lang/
: http://0rz.tw/a543S (縮)
嗯....
實際用了一下
記憶體使用過量的問題還是存在
看了一下原始碼測了一下
他的內含padding函式宣告的char陣列會用掉許多記憶體
然後他是用rightPad在去呼叫Padding跑迴圈
效能也沒獲得改善= ="
我測試方式 自己把他的RightPad函式跟padding函式挖出來
RightPad大概是RUN 3840*6次
然後分別用Runtime.getRuntime().freememory()
跟System.currentTimeMillis()去抓可用記憶體跟毫秒
故意不呼叫他提供的padding函式結果
freememory:3112808
經過毫秒:156
然後叫用他的padding的結果
freememory:1544200
經過毫秒:312
所以其實跟我原先的函式差不多結果
我的測試方法應該沒錯啦= ="
雖然我也不知道他java抓出來的精準度到多少
但是這差距到是蠻明顯的
請問這真的沒改善方法嗎?
我嘗試用gc函式好像也沒辦法放掉多餘記憶體
我是比較不在乎效能啦 但是記憶體就讓我頭大了
他使用量這樣持續膨脹都沒辦法放出
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.188.205
※ 編輯: del680202 來自: 118.167.188.205 (05/10 01:59)
→ del680202:阿...請問那是什麼?= =" 05/10 02:04
推 kene:在文章列表上按 #, 然後輸入 # 後面的字串 05/10 02:25
推 godfat:直接複製貼上也可以 05/10 02:34
推 ClareQ:想問你文字排版輸出的需求?可以貼測試程式出來看看吧:) 05/10 02:55
推 ClareQ:如果欄位寬度可以重複套用在每一列,可以參考#185Y5VkE看看 05/10 02:59
→ del680202:我希望可以根據指定長度來得到固定長度欄位 05/10 11:28
→ del680202:所以不能重覆套用 而且我比較頭大是記憶體的問題 05/10 11:33
→ del680202:為啥函式宣告占用的記憶體無法放出 囧 05/10 11:43
推 qrtt1:因為類別載入的記憶體區預設GC演法算是不同區啊 05/10 11:48
推 ClareQ:記憶體釋放與JVM實作和設定有關,也不是用完就馬上釋放 05/10 15:40