https://www.cnblogs.com/lixiaojiao-hit/p/5095180.html
“静态变量是ClassLoader级别的,如果web应用程序停止,这些静态变量也会从jvm中清除。但是线程则是JVM级别的,如果用户在web应用中启动一个线程,这个线程的生命周期并不会和web应用程序保持同步。也就是说,即使停止了web应用,这个线程也依旧是活跃的。”
只要tomcat没停止,jvm没停止,java进程也还在,而只是web应用停止了而已。这样线程当然也就还在了。
这个解决了我在农商银行开发的那个外汇牌价系统时候遇到的一个疑问,当时我记得就是后台用了Timer来做定时去爬建行的外汇牌价。
然后eclipse用的tomcat插件,当把应用停止之后其实javaw还在也就是jvm进程还在,所以这个Timer线程也就还继续跑了。