数据库连接池:
一:正好可以控制码农们无限制的连接数据库;
连接数据库非常耗时,底层需要使用Socket建立TCP连接,3次握手...
二:可以减少数据库连接时间;
三:还可以复用Connection上的PreparedStatement, 不用老是找数据库预编译了。
PreparedStatement预编译, 制定了查询计划,下次再用的时候,就不用预编译了,而且可以防止SQL注入。
如何自己实现连接池:
静态代理:实现被代理类connection一样的接口,实现所有的方法,重点是close()方法重写。
动态代理: 利用反射。