目的:
將數據從傳入的UDP數據報傳遞到4個等待其各自隊列的線程。 應用程序應該不間斷地將流量泵送到DUT並處理傳入的消息。 這是我在做什麼:用於傳入UDP數據包的靜態內存
1. Public byte[] receiveData = new byte[512]
2. receivePacket = new DatagramPacket(receiveData, 0 , receiveData.length)
[The above 2 steps are in constructor of the listener class]
3. while (1)
a. ApplicationStart.serversocket.receive(receivePacket)
b. recvData = new String(receivePacket.getData()
.
. {Processing of data}
.
c. recvData = null
問題:
的內存不斷增加。我懷疑這是因爲它正在等待GC聲稱未使用的內存。我希望我可以在無限while循環之外分配一些靜態內存。如果我這樣做,我面對的問題是「receivePacket.getData()」返回一個字節數組並處理數據,我需要將它轉換爲一個字符串。所有的數據都是文本格式(具體是MGCP數據包)。 請建議任何方式以確保內存未耗盡。 我不想手動調用垃圾收集器。我不確定GC的開銷。
感謝
什麼是你的標題有你的問題呢? – EJP 2010-10-14 07:05:43
張貼一些code.That將有助於理解這個問題。 – Emil 2010-10-14 10:08:12