学习自用,大多百度而来
-
build.xml就是一个XML文件,它包含一个project节点和至少一个target节点,target节点包含多个task元素。简单说,target节点代表着你的构建目标,而该目标是由多个操作/任务(task)来达成的。
-
com.mchange.v2.c3p0.ComboPooledDataSource:数据库连接池的一种。
C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。 -
DataSource 接口由驱动程序供应商实现。共有三种类型的实现:
a) 基本实现 - 生成标准 Connection 对象b) 连接池实现 - 生成自动参与连接池的 Connection 对象。此实现与中间层连接池管理器一起使用。
c) 分布式事务实现 - 生成一个 Connection
对象,该对象可用于分布式事务,并且几乎始终参与连接池。此实现与中间层事务管理器一起使用,并且几乎始终与连接池管理器一起使用。 -
private static ThreadLocal tl = new ThreadLocal();
//本地线程变量,用于事务控制,为每一个进程创建一个connection对象
计算机对于线程的执行是抢占式策略,谁能抢到谁先执行,因此并不能控制线程的执行顺序。因此在一些静态资源上会进行共享,产生线程不安全问题。
而对于数据库的Transaction,可以用ThreadLocal进行控制 -
InvocationHandler 是代理实例的调用处理程序 实现的接口。
-
method.invoke(Object obj,Object args[])的作用就是调用method类代表的方法,其中obj是对象名,args是传入method方法的参数
-
invoke()方法的返回值总是对象,如果实际被调用的方法的返回类型是基本类型数据,那么invoke()方法会把它转换为相应的包装类型的对象,再将其返回.
-
isAnnotationPresent 判断类里是否存在注解问题。
-
RuntimeException运行时异常,这种异常我们不需要处理,完全由虚拟机接管。
-
(本图来自:https://blog.csdn.net/wangjiang_qianmo/article/details/93922813)