Topic: 循环生成对象,内存有什么变化.

  Print this page

1.循环生成对象,内存有什么变化. Copy to clipboard
Posted by: hulizhong
Posted on: 2005-04-27 12:25

//方法waitforpacker监听来自客户端的数据包,当获的数据包后,在文本显示区域显
// 示出来
public void waitforpacker(){
while(true){
try{
byte buf[]=new byte[100];
receivepacket=new DatagramPacket(buf,buf.length);
//实例化一个接受数据报文包对象
receivesocket.receive( receivepacket);
..............................................................
}catch(ioexception e){}
}//end while
}
从上面可以看出是循环生成receivepacket对象,这样程序内存占有量是不是很大啊.有什么解决办法吗

2.Re:循环生成对象,内存有什么变化. [Re: hulizhong] Copy to clipboard
Posted by: drmcer
Posted on: 2005-04-27 19:47

你可以看到每次新new出来的对象都是在一次while()循环后就不再使用了, 取而代之的是另一个全新的对象, 同一个引用变量放弃一个对象去指向另一个对象, 被放弃的对象因为没有引用再指向它了, 所以会被标记为符合垃圾回收条件并且稍后的某个时间就被垃圾回收器回收掉, 因此你不用担心内存的问题.


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923