黑马程序员技术交流社区

标题: java.lang.OutOfMemoryError,求指点 [打印本页]

作者: wxf468907066    时间: 2016-3-31 11:20
标题: java.lang.OutOfMemoryError,求指点
public class Demo4_Case {

        public static void main(String[] args) {
                List list = new ArrayList<>();
                list.add("a");
                list.add("b");
                list.add("world");
                list.add("c");
                list.add("d");
                //判断集合中是否包含world,如果有就添加javaee
                while(list.contains("world")){
                        list.add("javaee");
                }
                Iterator it = list.iterator();
                while(it.hasNext()){
                        System.out.println(it.next());
                }      //java.lang.OutOfMemoryError
        }

}
作者: biu    时间: 2016-3-31 13:31
while(list.contains("world")){
                        list.add("javaee");
                }
java.lang.OutOfMemoryError  的意思是:因为内存溢出或没有可用的内存提供给垃圾回收器时,Java 虚拟机无法分配一个对象,这时抛出该异常。
原因:判断集合中是否有"world",包含就一直添加,List集合是可以存储重复元素的,循环条件一直满足就一直添加,直到内存溢出
作者: wxf468907066    时间: 2016-3-31 17:06
biu 发表于 2016-3-31 13:31
while(list.contains("world")){
                        list.add("javaee");
                }

原来如此,多谢
作者: huangkai521    时间: 2016-3-31 22:09
用if判断就好了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2