Java中的C析构函数是否相同?

前端之家收集整理的这篇文章主要介绍了Java中的C析构函数是否相同?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Is there a destructor for Java?20个
最简单的形式,以下是设计:
class Session {
  Timer t = new Timer();
  // ...
};

每当分配Session时,我会在其中启动一个计时器;计时器将在10-20分钟后过期.现在,假设Session在定时器到期之前被销毁;那么这是我必须停止计时器的场景.我不知道是否有任何最后一个方法在Session被销毁时总是被调用.

在Java中是否存在某种类似的C析构函数,这有助于我在Session被销毁时取消()计时器? (无需等待GC)

编辑:请不要为C代替.我想要一些相同的东西.会话是一个电话会话,当与其连接的所有用户都断开连接时会被破坏.现在,没有最后调用的Session方法,也没有任何异常.

解决方法

不,Java中没有这样的东西.最接近的是写一个终结器,但不能保证它会运行.

会议如何被破坏?如果有一个调用方法,请务必将代码放在那里.

你如何创建一个会话?如果您在try / catch块中执行此操作,则可以清除finally块中的所有内容.

我会编写一个close()方法来处理它并在finally块中调用它.

猜你在找的Java相关文章