即使我们不覆盖destroy方法,java也会释放资源吗?
如果我们不覆盖stop()
和destroy()
方法会怎样?
是否会自行释放资源?
答案 0 :(得分:1)
人们很少再使用Java小程序了(现在我希望我们可以让他们停止使用Flash!)。
实际上从来没有强制性的"覆盖stop()或destroy():如果你愿意的话,它只是一种方便的方式来进行任何自定义"清理#。
正如user2864740正确指出的那样,applet在JVM中运行......并且当JVM退出时,所有分配的资源都会自动释放。是否覆盖applet的stop()/ destroy()或
答案 1 :(得分:0)
销毁: destroy()
方法。如果需要在销毁之前执行任何清理,您的applet将覆盖此方法。
如果Applet的子类具有在销毁之前要执行的任何操作,则它应该重写此方法。例如,带有线程的applet将使用init方法创建线程,使用destroy方法来终止它们。
Applet类提供的此方法的实现不执行任何操作。
停止: stop()
方法被浏览器调用以暂停applet的执行。停止后,当浏览器调用start()时,将重新启动applet。
如果Applet的子类在每次包含它的网页不再可见时都要执行任何操作,则应该重写此方法。例如,带动画的applet可能希望使用start方法恢复动画,而stop方法则用于暂停动画。
Applet类提供的此方法的实现不执行任何操作。
和Ya .. JVM将通过垃圾收集机制来处理资源释放。它将释放不再引用的资源。
参考:https://docs.oracle.com/javase/8/docs/api/java/applet/Applet.html