java applet 淘汰_Java applet:如何在页面刷新之前确保销毁完成

引自Java Tutorials:

The Java Plug-in software creates a worker thread for every Java

applet .

在多线程环境中,您应该非常小心共享资源.最好和最简单的方法是不分享任何东西(最好的扩展,没有死锁).

我假设,每次在“init”-method中初始化你的处理程序.如果是的话,您应该使用一个静态共享记录器(请参阅此link).它将有助于改善情况,但如果您使用applet启动多个浏览器 – 仍将创建新的日志文件. Oracle不建议使用此解决方法,并保留这种解决方法以实现向后兼容性.

推荐且易于实现的解决方案 – “每个applet都应该拥有自己的记录器并写入自己的文件”.日志文件名生成代码:

private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");

private String generateFileName() {

return String.format("applets-log/%s-%s.log",dateFormat.format(new Date()),UUID.randomUUID());

}

回答您的小问题(已更改):

根据java插件中对此old bug的讨论,applet可以随时以一些预定义的间隔终止进行清理.因此,您应该将资源清理代码放在“停止”或“销毁”方法中,但您不应该依赖该代码的执行.

Applets lifecycle is controlled by browser and applets should not be

given capabilities to run when its hosting document is destroyed by

browser.

Since 6u10,both old plugin and new plugin enforce applet shutdown

after a fixed amount of time (1000ms in old plugin and 200ms in new

plugin) for applet to stop.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值