Hikaricp源码解读(4)——Proxy*代理类介绍
【今日推荐】:为什么一到面试就懵逼!>>> 4、Proxy*代理类介绍 本文以v2.7.2源码为主进行分析 HikariCP不同于一般连接池如proxool、c3p0等使用动态代理实现连接的操作转移,而是通过Javassist结合部分自定义代码实现对应接口实现的方式,减少了代理连接建立的代价,以下是HikariCP中的主要代理相关类: ProxyConnection.java ProxyStatement.java ProxyPreparedStatement.java ProxyCallableStatement.java ProxyResultSet.java ProxyFactory.java(工厂类) JavassistProxyFactory.java(代码重构) 以上代码通过Javassist进行代码重构建之后生成实际使用的对应接口代理类: HikariProxyConnection.java HikariProxyStatement.java HikariProxyPreparedStatement.java HikariProxyCallableStatement.java HikariProxyResultSet.java 我们从 JavassistProxyFactory.java 入手,其核心代码如下: try { // Cast is not needed