日期:2014-05-20  浏览次数:20636 次

关于JAVA中使用队列传递对象的问题
在JAVA中需要用到队列传递一些数据,数据主要就是几个字符串变量,因为JAVA中没有C中的链表。于是我就把这些变量写在一个类里,每次new一个对象,然后把对象名写入队列。我想问一下这样会有问题么?因为在队列中取数据的操作是在其他类中进行了,所以我想那个对象会不会在被从队列中取出前就被JAVA给回收了呢?如何才能让这个对象一直存在到从队列中取出使用之后?
如果这种思路不合适,那用什么结构实现数据传递合适呢?

------解决方案--------------------
Java有链表的啊:java.util.LinkedList

JVM不会随便回收对象的,只要该对象当前存在被引用(直接或间接),就不会被回收。

所以不需要考虑“如何才能让这个对象一直存在到从队列中取出使用之后?”这种问题。
------解决方案--------------------
因为有链表对象的指向,回收不了。垃圾回收机制只会回收没有用的、没有引用的对象。