JAVA 怎么销毁变量

publicstaticvoidmain(String[]args){Stringoutput="这是要输出";System.out.println(output);//... public static void main(String[] args) {
String output = "这是要输出";
System.out.println(output);
// 我想在这一行 销毁 output 这个变量
}

求教了
展开
 我来答
狂暎8j
推荐于2018-04-11 · TA获得超过723个赞
知道小有建树答主
回答量:313
采纳率:0%
帮助的人:273万
展开全部
java对象销毁是有虚拟机控制的,你手动销毁可以,但是销毁时间还是由虚拟机决定。所以你实际要做的就是让变量不再被引用,而你这个output已经不再被引用,执行完了就会被回收。
看下面解释:

Java的垃圾回收机制是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的内存空间。
需要注意的是:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身
System.gc()
Runtime.getRuntime().gc()
上面的方法调用时用于显式通知JVM可以进行一次垃圾回收,但真正垃圾回收机制具体在什么时间点开始发生动作这同样是不可预料的,这和抢占式的线程在发生作用时的原理一样。
百度网友de84773
2018-11-21
知道答主
回答量:94
采纳率:33%
帮助的人:13.6万
展开全部
赋值为null 可以销毁;
因为java的GC垃圾回收机制是自动回收内存,即引用类型的变量的引用计数为0的时候自动回收,赋值为null等同于指针销毁。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
桂镶桖28
2012-11-24 · TA获得超过593个赞
知道小有建树答主
回答量:307
采纳率:0%
帮助的人:210万
展开全部
output = null;这样就可以了
追问
你确定这样可以?
追答
嗯 如果不想自己回收的话,java的垃圾回收机制也会回收,可以手动触发System.gc(),前提是output变量没有被引用,比如方法执行完成之后output就会被回收。

若是不明白,可以去看看那些没有自动回收机制的语言怎么回收的,比如C或C++。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友12ee0fd
2012-11-24 · TA获得超过4.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:66%
帮助的人:2340万
展开全部
执行完println后,程序结束,jvm退出。自动销毁了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9a3c037c
2012-11-24
知道答主
回答量:45
采纳率:0%
帮助的人:9.2万
展开全部
Java有自动垃圾回收机制
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式