web应用程序开发注意私自启动线程的问题
我们知道静态变量是ClassLoader级别的,如果Web应用程序停止掉,这些静态变量也会从JVM中清除.但是线程则是JVM级别的,如果用户在Web应用中启动一个线程,这个线程的生命周期并不会和Web应用程序操持同步.也就是,即使停止了Web应用,这个线程还是活跃的.正是因为这个很隐晦的问题,所以很多有经验的开发不太赞成在Web程序中私自启动线程.举例:
public class Test implements ServletContextListener {
private Timer timer;
public void contextDestroyed(ServletContextEvent arg0) {
System.out.println("Web应用程序启动关闭...");
// timer.cancel();
}
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("Web应用程序启动...");
timer = new Timer();
TimerTask task = new SimpleTimerTask();
timer.schedule(task, 1000L, 5000L);
}
}
class SimpleTimerTask extends TimerTask {
private int count;
public void run() {
System.out.println((++count)+"execute task..."+(new Date()));
}
}
有web.xml文件中配置:
<listener>
<listener-class>
com.javaeye.lighter.Test
</listener-class>
</listener>
假如这一个时候登录Tomcat的后台,将对应的Web应用关闭.这时候,我们将在Tomcat的控制台看到web应用已经关闭了,但TImer任务还继续地执行.
分享到:
相关推荐
通过这些分析,可以发现应用程序是否执行了未经授权的行为,如私自发送短信、访问个人信息、下载额外文件等。 文章最后也提到了动态检测技术的现状与发展趋势。目前动态检测技术仍在不断发展之中,新的技术如沙箱...
1. **需求分析**:评估参赛者对Web应用开发所需的需求分析能力。这包括但不限于绘制流程图、时序图和草图等。 2. **功能编码**:基于产品原型进行实际编程,考察学生对HTML5、CSS3、JavaScript等Web技术的掌握程度。...
4. **文档控制**:所有文件均需受控,不得私自复印,修订有记录,确保信息的准确性和一致性。 5. **评审和验证**:设计评审涉及标准符合性、功能、技术参数等多个方面,验证则包括样机检测和试产总结,确保产品满足...
### 2024年广西职业院校技能大赛高职组《嵌入式系统应用开发》赛项解析 #### 一、赛事概述 2024年广西职业院校技能大赛高职组《嵌入式系统应用开发》赛项是面向广西区内职业院校高职学生的专业技能竞赛活动。该赛项...
【应用系统开发及维护管理制度】 该制度主要针对的是单位内部计算机软件系统的管理,旨在规范从采购、开发到维护的全过程,确保信息系统的稳定运行和安全。以下是对制度内容的详细解读: 1. **第一章总则**:明确...
《ISO9001设计开发控制程序文件》是企业遵循国际质量管理体系标准ISO9001,用于规范新产品设计和开发流程的重要文档。该程序旨在确保新产品设计开发过程的有序进行,满足客户需求,并保证产品的质量和市场竞争力。 ...
本教案旨在通过一系列精心设计的活动,向大班孩子们传达私自离园的严重后果,提升他们的安全意识,并让他们学会在幼儿园的环境下正确处理问题。 首先,活动以观看教学挂图导入,通过孩子们对小朋友行为的观察和讨论...
- **注意问题**:开发过程中应严格遵循U8提供的插件开发规范,尽量使用相同的开发语言以保持一致性,并确保插件操作与U8的数据库操作在同一事务内完成。 - **禁止行为**:避免直接修改U8的系统数据表、视图或存储...
1. Superboot4412更新:在硬件启动引导程序的更新中,解决了eMMC大小显示不正确的问题,并引入了智能分区功能以优化Android系统下Data分区的可用空间。此外,还引入了三星推荐的TrustZone安全模式,为系统安全提供了...
### 我国拟规定任何单位个人不得私自开拆他人邮件 #### 法律背景与重要性 随着社会的发展和技术的进步,个人信息安全和个人隐私保护成为公众日益关注的话题。在我国,为了加强公民通信自由和通信秘密的保护,全国...
海思Linux开发环境 用户指南涵盖了在海思平台进行Linux开发的相关知识,内容涉及开发环境搭建、Linux内核编译、根文件系统构建以及应用程序开发等方面。文档版本为01,发布日期为2014年10月30日,由深圳市海思半导体...
5. **协议变更**:协议变更需经所有合作方一致同意,私自变更或转让协议权益视为无效,强调了协议的稳定性。 6. **禁止行为**:禁止以合作团体名义未经授权进行业务活动,防止滥用团队信誉;同时,保护商业秘密不被...
- **实际应用**:例如,如果C#开发的应用程序在某些特定情况下出现轻微的性能下降,但整体功能仍然可用,那么企业可以期待获得支持以解决问题。 2. **使用和实施的支持**:乙方将提供有关许可软件使用和实施方面的...
在实施IPSG时,需要考虑一些配置注意事项。比如,不是所有的交换机型号和软件版本都支持IPSG功能,例如文档中提到的V100R006C05版本的S2700-SI就不支持IPSG。此外,如果在某些华为设备上启用了IPv4报文的三层硬件...
并网管理问题主要包括用户私自增容、保护装置维护不足等。私自增容是指用户在未经过电网公司允许的情况下增加光伏电站的发电能力,这样做除了能获得更多的国家发电补贴外,还可能对电网设备造成损害。保护装置维护...
上位机与MES接口系统程序编写规范是为了规范线上位与MES系统接口程序编制,避免系统间交互数据问题发生。该规范适用于电气技术部承接的焊装项目,其上位与MES系统接口程序的编制。 在编写上位与MES系统接口程序时,...
该系统的开发和应用充分说明了将GPS和GIS技术相结合,在解决疏浚作业监管难题方面所展现出的巨大潜力。它提高了管理的精确度和效率,为疏浚行业的安全、高效运行提供了有力的技术支持。同时,该系统的创新实践也为...
生物多样性管理控制程序知识点 生物多样性是指一定范围内多种多样活动的有机体(动物、植物、微生物)有规律地结合所构成稳定的生态综合体。该概念包括动物、植物、微生物的物种多样性,物种的遗传与变异的多样性及...
Hadoop 基本配置与相关工具软件解决具体业务问题的能力,激发学生对大数据知识和技术的学习兴趣,提升学生职业素养和职业技能,努力为中国大数据应用产业发展储备与输送新鲜血液。 二、大数据技术与应用赛项的竞赛...