学习笔记

本文详细介绍了Ant构建工具的核心概念,包括project、target和task元素的作用,以及C3P0数据库连接池的实现原理,探讨了其在lib目录中与Hibernate一同发布的应用场景,同时对比了不同类型的DataSource接口实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习自用,大多百度而来

  1. build.xml就是一个XML文件,它包含一个project节点和至少一个target节点,target节点包含多个task元素。简单说,target节点代表着你的构建目标,而该目标是由多个操作/任务(task)来达成的。

  2. com.mchange.v2.c3p0.ComboPooledDataSource:数据库连接池的一种。
    C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。

  3. DataSource 接口由驱动程序供应商实现。共有三种类型的实现:
    a) 基本实现 - 生成标准 Connection 对象

    b) 连接池实现 - 生成自动参与连接池的 Connection 对象。此实现与中间层连接池管理器一起使用。

    c) 分布式事务实现 - 生成一个 Connection
    对象,该对象可用于分布式事务,并且几乎始终参与连接池。此实现与中间层事务管理器一起使用,并且几乎始终与连接池管理器一起使用。

  4. private static ThreadLocal tl = new ThreadLocal();
    //本地线程变量,用于事务控制,为每一个进程创建一个connection对象
    计算机对于线程的执行是抢占式策略,谁能抢到谁先执行,因此并不能控制线程的执行顺序。因此在一些静态资源上会进行共享,产生线程不安全问题。
    而对于数据库的Transaction,可以用ThreadLocal进行控制

  5. InvocationHandler 是代理实例的调用处理程序 实现的接口。

  6. method.invoke(Object obj,Object args[])的作用就是调用method类代表的方法,其中obj是对象名,args是传入method方法的参数

  7. invoke()方法的返回值总是对象,如果实际被调用的方法的返回类型是基本类型数据,那么invoke()方法会把它转换为相应的包装类型的对象,再将其返回.

  8. isAnnotationPresent 判断类里是否存在注解问题。

  9. RuntimeException运行时异常,这种异常我们不需要处理,完全由虚拟机接管。

  10. 在这里插入图片描述(本图来自:https://blog.youkuaiyun.com/wangjiang_qianmo/article/details/93922813)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值