例:
session.setAttribute("list",list1);
seeeion.setAttribute("list",list2);用session.getAttribute("list");得到的肯定是list2,
我的问题是那么list1是被list2覆盖了吗?
list1在session中还存在吗?

解决方案 »

  1.   

    list1不存在了,已经被覆盖了
      

  2.   

    我还没用过session.setAttribute("",object)呢
    平时都在用session.put("",object);就说一下我知道的吧!
    session存储数据的方式类似于:Map的key-value存储方式,key 是唯一的...
    而我们通过put方法所做的存储也就是在覆盖session中的key和value..
      

  3.   

    不存在的啦  session在取相同的值的时候一般都是取最后一个的。。 所以取出的list2(已经覆盖的啦)
      

  4.   

    “list”相当于一个连接地址,后台的链接内容是你自己定义的,list1的值还在,只是你没有传送出去,“list”链接的是list2的内容了;
      

  5.   

    session.setAttribute("list",list1);会将一个引用指向list1;
    seeeion.setAttribute("list",list2);会将这个引用指向list2,而list1仍然存在于内存中,如果还有别的引用指向list1,则list1会依然存在下去,如果没有了引用指向list1,则过了相应时间后,就会被垃圾收集器收集掉;
    收集掉之后,才确实从内存中消失;
      

  6.   

    session.setAttribute("list",list1);会将一个引用指向list1;
    seeeion.setAttribute("list",list2);会将这个引用指向list2,session.getAttribute("list")得到的是list2;
    而list1仍然存在于内存中,如果还有别的引用指向list1,则list1会依然存在下去,如果没有了引用指向list1,则过了相应时间后,就会被垃圾收集器收集掉;
    收集掉之后,才确实从内存中消失;
      

  7.   

    应该不是不存在了。list与list1连接断开 指向list2 
    垃圾收集器利用有向图查看 list1 是否有连接。无。断开。
    貌似是的