使用ExecutorService作为局部变量时,一定要在用完后记得shutDown,否则会出问题

ExecutorService 比较重,牵扯到线程,对线程的GC和GC常规对象是有很大的不同
最佳实践,
如果对象提供了shutdown,close等方法,一定要记得在用完后调用这些方法以释放资源,否则会出现资源泄露的情况
================
可以看到线程数量直线上升,(线程泄露)最后出现无法new新线程的情况
http://dl2.iteye.com/upload/attachment/0117/4908/55178d56-240f-3760-8e7d-e73f91ad278a.png
http://dl2.iteye.com/upload/attachment/0117/4935/b86b4f35-c08d-31e5-adc0-fb604f3b8dfa.png
加入shutdown之后,问题解决
http://dl2.iteye.com/upload/attachment/0117/4931/791713da-4c26-3ae8-94f7-bc218f8e330f.png