目的:
将数据从传入的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