1 java中的垃圾收集器相对于以前的语言的优势是什么?
参考答案:以前的语言需要程序员显式的分配内存,释放内存。这样容易使分配的内存长时间得不到释放,导致内存溢出问题。相比之下,java不需要程序员显示的分配内存和释放内存,避免了许多潜在的问题,java在创建对象时会自动分配内存,并当该对象的引用不存在时自动释放。
2 判断一块内存空间是否符合垃圾收集器收集标准:
(1)给对象赋予了null值,以后再也没有调用过;
(2) 给对象赋予了新值,即重新分配了内存空间。
3 java是如何管理内存的?
java的内存管理就是对象的分配和释放,在java中,程序员需要通过关键字new为每个对象申请内存空间,
所有的对象都在堆中分配空间。对象的释放是由GC决定和执行。
4 什么是java中的内存泄漏?
内存泄漏就是存在一些被分配的对象:
①可达的
② 无用的
5 如何确定泄漏的位置
outofmemoryerror通常是内存泄漏的信号。一种查明的方法是不断监控GC的活动,确定内存使用量是否随着时间增加,如果确实如此,就可能发生了内存泄漏。