5
回答
在javaweb方向有经验的前辈们,向你们请教一个问题,很迷惑~
华为云实践训练营,热门技术免费实践!>>>   

假如现在有一个类Student,我们都知道Student s=new Student()这段代码相当于在内存中开辟了一块空间用来存放一个Student类的引用s(即为Student对象),那么我现在想问一下,假如通过访问Dao层把数据库中所有的Student都取出来:

List<Student> list=......

for(int i=0;i<list.size;i++){

Student studentObj=list.get(i);

}

就以上情形来讲studentObj是不断变化的,那么内存中的情况是怎样的?比如说,第一次循环的时候,studentObj的值是list.get(0);第二次就变成了list.get(1),以此类推,最后studentObj的值一定是list.get(i),那么之前取出的对象(像list.get(0);list.get(1);等等)还占用内存吗?jvm的垃圾回收器会不会把他们回收掉?

<无标签>
举报
顶部