1. 未及时关闭的流,依然会占用内存空间,而且相比于普通对象,流往往占用的空间会非常大,所以也更容易造成OOM。
  2. ThreadLocal对象,如果线程长时间存在(比如线程池)而没有主动进行remove数据,会导致内存泄露。
  3. 创建大量无用线程。

如何解决

  1. 及时关闭、删除、移除
  2. 及时置null。