摘要:
`druid`是用于创建和管理连接,利用“池”的方式复用连接减少资源开销,和其他数据源一样,也具有连接数控制、连接可靠性测试、连接泄露控制、缓存语句等功能,另外,`druid`还扩展了监控统计、防御SQL注入等功能。
本文将包含以下内容(因为篇幅较长,可根据需要选择阅读):
1. `druid`的使用方法(入门案例、`JDNI`使用、监控统计、防御SQL注入)
2. `druid`的配置参数详解
3. `druid`主要源码分析 阅读全文
摘要:
本文将介绍以下内容:
1. 什么是`JMX`;
2. `JMX`的基础架构;
3. 如何使用`JMX`。
阅读全文
摘要:
本文主要讲解SPI,包含以下内容:
1. SPI的介绍
2. SPI的入门案例
3. SPI在JDBC中的应用
4. SPI源码分析
阅读全文
摘要:
本文将包含以下内容(因为篇幅较长,可根据需要选择阅读):
1. `c3p0`的使用方法(入门案例、`JDNI`使用)
2. `c3p0`的配置参数详解
3. `c3p0`主要源码分析 阅读全文
摘要:
`DBCP`用于创建和管理连接,利用“池”的方式复用连接减少资源开销,和其他连接池一样,也具有连接数控制、连接有效性检测、连接泄露控制、缓存语句等功能。目前,`tomcat`自带的连接池就是`DBCP`,Spring开发组也推荐使用`DBCP`,阿里的`druid`也是参照`DBCP`开发出来的。
`DBCP`除了我们熟知的使用方式外,还支持通过`JNDI`获取数据源,并支持获取`JTA`或`XA`事务中用于`2PC`(两阶段提交)的连接对象,本文也将以例子说明。 阅读全文
摘要:
dom4j 就是用来读写 xml 的。相比 JDK 的 JAXP,dom4j 的 API 更容易使用,所以,目前 dom4j 在国内还是比较受欢迎。
本文主要讲的是如何使用 dom4j 以及分析 dom4j 的源码,除此之外,我希望回答更多的问题,例如,什么是 DOM?什么是 SAX?dom4j 真的有那么快吗?要不要使用 dom4j? 阅读全文
摘要:
JDBC 规定了 java 应用应该如何连接和操作数据库,它是规范,而非实现,具体的实现由不同的数据库厂商提供。对我们来说,JDBC 有效地将我们的代码和具体的数据库实现解耦合,这是非常有好处的,例如,当我的数据库从 mysql 切换到 oracle 时,几乎不需要调整代码。
本文将详细介绍如何使用 JDBC,这里使用 MySQL Connector/J 8.0 作为具体实现。 阅读全文
摘要:
简单来说,cglib 就是用来生成代理类的。与 JDK 自带的动态代理相比,有以下几点不同:
1. JDK 动态代理要求被代理类实现某个接口,而 cglib 无该要求。
2. 在目标方法的执行速度上,由于采用了`FastClass`机制,cglib 更快(以空间换时间,后面会讲到)。 阅读全文