关于预编译(PrepareStatement),对于所有的JDBC驱动程序来讲,有一个共同的功能,就是“防止SQL注入”,类似Oracle还有一种“软解析”的概念,它非常适合应用于OLTP类型的系统中. 在JDBC常见的操作框架中,例如ibatis.jdbcTemplate这些框架对JDBC操作时,默认会走预编译(jdbcTemplate如果没有传递参数,则会走createStatement),这貌似没有什么问题.不过在一个应用中发现了大量的预编译对象导致频繁GC,于是进行了源码上的一些跟踪,写…