java 文件刪除失敗(被進程佔用)

解決方案:

  1. 系統進行資源強制回收//System.gc();{不建議使用}

  2. 關閉流(未及時關閉會內存溢出)


 問題--- 文件刪除失敗

             (後來發現是被進程佔用)

 發現問題--第一次測試10個文件上傳成功8個,第二次測試還有10個文件

解決思路:1.查看代碼 file.delete();刪除失敗

                 2.查看是否有流未關閉(大致看了下沒有使用流直接調用一工具)

                 3.手動刪除提示被Java se進程佔用(因爲這是個批處理,我以爲這是個進程!!!)

                 4.代碼添加如果刪除失敗就強制垃圾回收,文件刪除成功

       這也是小編這一次碰到這樣的情況,所以沒管什麼遺留問題只要滿足現狀就行,慚愧 啊    

    偶然一次跟我們架構師聊到了這件事,他說垃圾強制回收儘量不要手動這個是jvm的工做,他說這種情況一般不會發生肯定是沒有關閉流,小編回來就一行一行的過代碼,果然在一不顯然處引用了流,流未關閉  (想死的心都有了)....萬幸的是,還好在上生產環境前發現了並解決了這個問題,不然得埋多大的坑(錄音文件一天的量很大)

              1)關流 

              2)測試  (刪除成功)

             

總結:一定要細心,代碼容不得半點馬虎

 


   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章