Java内存溢出的一个小例子
2014-10-03 12:29
183 查看
<p> </p>Java内存溢出(内存泄漏)
内存溢出(out of memory)通俗理解就是内存不够,在计算机程序中通俗的理解就是开辟的内存空间得不到释放。Java虽然提供了垃圾回收机制,但是并没有保证我们所写的代码就不存在没存溢出的可能。下面使用一个小案例作为演示,这也是我们新手开发过程中可能遇见的问题啦,好记性不如烂笔头
class MyList{ /* * 此处只为掩饰效果,并没有进行封装之类的操作 * * 将List集合用关键字 static 声明,这时这个集合将不属于任何 MyList 对象,而是一个类成员变量 * */ public static List<String> list = new ArrayList<String>(); } class Demmo{ public static void main(String[] args) { MyList list = new MyList(); list.list.add("123456"); // 此时即便我们将 list指向null,仍然存在内存泄漏,因为MyList中的list是静态的,它属于类所有而不属于任何特定的实例 list = null; } }
上面的情况如果想要防止内存溢出,那么我们应该做的是,在每次使用完后调用List集合中的remove方法,将集合中无用的元素清除。
还有就是,既然是static变量就别要使用类对象去调用啦,使用实例对象调用static变量可能引发一些意想不到的后果哦!新手一定要注意啦!
相关文章推荐
- 软件开发中的矛盾——一个简单的例子
- 一个例子
- 关于Java的RMI编程的一个简单的例子
- 一个简单例子表示fixed functional VS/Assemble VS/HLSI VS的例子
- 一个功能齐全的DataGrid分页例子
- 一个简单的tcp filter的例子
- 一个成功的增量SNAPSHOT 例子
- 非阻塞方式下Socket读取数据的一个例子
- 使用JSP + JAVABEAN + XML 开发的一个例子
- 一个分页的类及调用的例子
- 一个理解wait()与notify()的例子
- 一个通用的动态加载数据例子(IE5,NS6,Mozilla 1.3b)
- 一个类数据类型的STL例子
- 一个典型的例子解决常见的高级Windows程序设计问题
- VB程序员的FTP编程指南1.7-用VB实现FTP的一个例子(大结局)
- C++ Builder 6 进行 SOAP 开发(1) -- 一个 Hello world! 的例子
- 使用JSP + JAVABEAN + XML 开发的一个例子
- 由一个例子学习栈
- LINUX下的一个SOCKET编程的例子
- 一个DirectX的例子