java中如何关闭一个窗口就完全释放它所占的资源但不终止整个程序(程序由多个窗口)

 我来答
死后是好人
2011-11-20 · TA获得超过2638个赞
知道小有建树答主
回答量:628
采纳率:0%
帮助的人:963万
展开全部
在你定义的关闭窗口事件中写上
窗口名.dispose();
如果是直接继承的窗口类,可以用this.dispose()
这个就是释放当前窗口资源而不终止程序 ,与serVisible(false)是不一样的
liuyang7792
2011-11-20 · TA获得超过158个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:194万
展开全部
根据Java的垃圾回收机制:垃圾回收回收的是无任何引用的对象占据的内存空间
所以你只要采用匿名类创建打开的窗口并调用System.gc() 或Runtime.getRuntime().gc() 就可以啦
在要创建窗口的地方这样写:
new frame().setVisible(true);
System.gc() ;
当你再次打开同样的窗口时,又会执行new frame().setVisible();重新创建一个新的窗口,原来的自然就变成无任何引用的对象了,随即就会被JVM垃圾回收机制回收掉了

注意:调用System.gc()用于显式通知JVM可以进行一次垃圾回收,但真正垃圾回收机制具体在什么时间点开始发生动作是不可预料的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
幽冥神者
2011-11-20 · TA获得超过3213个赞
知道大有可为答主
回答量:1953
采纳率:50%
帮助的人:1786万
展开全部
不终止程序是不可能的,程序再运行就需要占用资源。你只能在适当的时候关闭IO、关闭数据库连接、告诉GC该运行了,还可以自己释放一些可能导致内存溢出的东西。其他的你操纵不了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式