[問題]監視畫面程式-outOfMemory問題~~

看板java作者 (十年光陰)時間16年前 (2008/04/16 22:46), 編輯推噓23(23014)
留言37則, 12人參與, 最新討論串1/7 (看更多)
小妹已經爬過之前OutOfMemory的文了 但依舊沒獲得需要的解答 因此希望板上各位大大可以幫忙解惑~ 小妹正在寫的程式是多client傳畫面給server的程式 傳畫面的程式是依據 javaworld的良哥葛的SimpleScreenCaptureServer 這個程式大概跑了十分鐘後就會出現 outOfMemory的問題 heap space爆掉了 問題顯示在在傳client傳byte[]給server 跟server接收client傳byte[]的地方 那一段程式碼如下: public Image getImageFromServer() throws IOException, ClassNotFoundException { connectionClient.sendMessageToServer("GET " + getImageQuality()); byte[] imageByte = (byte[]) connectionClient.getObjectFromServer(); JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder( new ByteArrayInputStream(imageByte)); return (Image) decoder.decodeAsBufferedImage(); } 錯誤訊息如下: Exception in thread "Thread" java.lang.OutOfMemoryError: Java heap space at java.awt.image.DataBufferInt.<init><DataBufferInt.java:41> at java.awt.image.Raster.creatPackedRaster<Raster.java:458> at sun.awt.image.codec.JPEGImageDecoderImpl.allocateDataBuffer<JPEGImageDecoderImpl.java:334> at sun.awt.image.codec.JPEGImageDecoderImpl.readJPEGStream<Native Method> at sun.awt.image.codec.JPEGImageDecoderImpl.decodeAsBufferedImage<JPEGImageDecoderImpl.java:210> 希望各位大大可以為小妹解惑 感激不盡!! -- http://www.wretch.cc/album/jjor -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.125.128.242

04/17 00:46, , 1F
唔, 你的memory 不夠多, 買夠10G吧, 問題就解決了.
04/17 00:46, 1F

04/17 00:48, , 2F
:P
04/17 00:48, 2F

04/17 00:53, , 3F
樓上的來亂的吧...
04/17 00:53, 3F

04/17 01:03, , 4F
...............
04/17 01:03, 4F

04/17 01:09, , 5F
這邊的大師很多, 直接call 他們的id 吧.
04/17 01:09, 5F

04/17 01:14, , 6F
推薦一下!~~謝啦~
04/17 01:14, 6F

04/17 02:33, , 7F
java -Xmx????M 或是向HDD求援?
04/17 02:33, 7F

04/17 02:35, , 8F
我有試過 不過只能延長heap space爆掉的時間~~謝謝~
04/17 02:35, 8F

04/17 02:37, , 9F
那就向硬碟求援吧, 或是詢問其他高手有無更好的解法XD
04/17 02:37, 9F

04/17 03:36, , 10F
向硬碟求援+1
04/17 03:36, 10F

04/17 08:38, , 11F
基本上JVM依版本不同僅可支援到1.4G~1.6G的記憶體
04/17 08:38, 11F

04/17 08:41, , 12F
所以增加記憶體應該不是你所要找尋的好方案~
04/17 08:41, 12F

04/17 10:02, , 13F
要不要從程式碼來看? 看哪邊浪費不必要的空間?
04/17 10:02, 13F

04/17 11:16, , 14F
樓樓上的q兄,你忘了還有 jvm 64bit。
04/17 11:16, 14F

04/17 12:14, , 15F
我是樓下的q弟 XD
04/17 12:14, 15F

04/17 12:20, , 16F
這邊不是有人說隨便寫都要吃1.6G的, 請他們現身說法一下
04/17 12:20, 16F

04/17 12:22, , 17F
如何吃到滿但不會吃到爆吧
04/17 12:22, 17F

04/17 12:29, , 18F
缺乏理解能力又愛斷章取義又愛凹又不服輸的人又出場了
04/17 12:29, 18F

04/17 12:31, , 19F
回原po: 先留意會不會有地方把image存著令它不能被gc吧
04/17 12:31, 19F

04/17 12:59, , 20F
嗯, 去找jconsole 來觀察看看那一個地方leak了
04/17 12:59, 20F

04/17 13:05, , 21F
唉, 出場了呢, 一個搞不清64bit的用處在哪的人出場了呢
04/17 13:05, 21F

04/17 13:08, , 22F
忘了一件事, C/C++的int 變成64bit 是由人來決定的,想必
04/17 13:08, 22F

04/17 13:09, , 23F
會加這種參數的人, 一定是腦袋有問題的
04/17 13:09, 23F

04/17 13:47, , 24F
咦? 你竟然知道你自己不明白Java 64bit 的用處了?
04/17 13:47, 24F

04/17 13:49, , 25F
還是那句錯誤論點, 所以就說你理解能力不足了唄
04/17 13:49, 25F

04/17 13:51, , 26F
C/C++和Java在int的情況的分別搞不清楚, 還好意思說嘴
04/17 13:51, 26F

04/17 13:52, , 27F
唉, 你還是回去幫別人一下吧, 不要跟我講64bit了, 你是
04/17 13:52, 27F

04/17 13:54, , 28F
基本教義者,我不是,你是連64bitVM 有什麼問題都不知還能
04/17 13:54, 28F

04/17 13:56, , 29F
說好的人. 表現一下你的功力吧.
04/17 13:56, 29F

04/17 17:48, , 30F
C 基本教義者在說人家是基本教義者?就算你分不清楚啦
04/17 17:48, 30F

04/17 19:38, , 31F
最好我是C 的基本教義者, 我的telnet 可是delphi寫的.
04/17 19:38, 31F

04/17 21:19, , 32F
笑死...hahaha
04/17 21:19, 32F

04/17 21:22, , 33F
╮(﹀_﹀")╭ 那個"64-bit java"明明就只是JVM在64-bit上的
04/17 21:22, 33F

04/17 21:22, , 34F
某位先生我看你還是不要見笑了拉..這東西不需要多大mem
04/17 21:22, 34F

04/17 21:24, , 35F
實作而已 和JVM上的int到底是不是64-bit根本就是兩碼子事
04/17 21:24, 35F

04/17 21:55, , 36F
大家不要吵架.....
04/17 21:55, 36F

04/18 12:13, , 37F
最好我是 Java基本教義者, 我寫最多的是 C++ XDD
04/18 12:13, 37F
文章代碼(AID): #181X4tZa (java)
討論串 (同標題文章)
文章代碼(AID): #181X4tZa (java)