java面试题面试题面试题面试题

CoderChan 发布于 2016/05/21 13:13
阅读 187
收藏 0

如何改掉一个指定的内存空间?

a  调用free()方法

b 调用system.gc()

c 赋值给该项对象为null

d 程序员无法明确强制垃圾回收器运行


c跟d哪个才正确?

加载中
0
GavienT
C
CoderChan
C为什么不对
0
SVD
SVD

这里需要注意的是Java的垃圾回收机制。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时,Java 就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java 会自动释放掉为该变量分配的内存空间,该内存空间可以立即被另作它用。数组和对象在没有引用变量指向它的时候,才变为垃圾,不能再被使用,但仍然占据内存空间不放,在随后的一个不确定的时间被垃圾回收器收走(释放掉)。这也是 Java 比较占内存的原因。

返回顶部
顶部