1. 使用Executors.newFixedThreadPool()方法,当不断创建新任务,而任务执行速度比创建速度慢时,任务对象就会在任务队列里面排队,堆内存得不到释放,导致OOM: 2. 使用PreparedStatement时,未调用close()方法,导致对象无法回收(即使没有对象引用),最终导致OOM. JDBC中,如果ResultSet 和 Statement 不关闭的话,会有什么影响 如果你不使用连接池,那么就没有什么问题,一旦Connection关闭,数据库物理连接就被释放,所…