单选题
👁️ 浏览量:

试题题干

设类U声明,及对象u和v的定义如下:
class U{
int x,int y;
U(int a,int b){x=a;y=b;}
void copy(U a){x=a.x;y=a.y;}
}
U u=new U(1,2),v=new U(2,3);
在以下供选择的代码中,可能引起系统回收内存的是( )

A

u.x=v.y;u.y=v.x;

B

u=v;

C

u.copy(v);

D

v.copy(u);

参考答案

正确答案:

试题解析

Java语言具有自动无用内存回收功能,程序可以按需使用内存,但不需要对无用内存显式地撤销分配。系统有一个垃圾收集器,自动收集程序不再使用的内存。题中u指向一个内存空间,v指向另一个内存空间,当u=v时,u与v指向同一个内存空间,u之前的内存空间不再被使用,会被系统回收。