源码分析
Jerry_carry
这个作者很懒,什么都没留下…
展开
-
04蚂蚁-源码分析——9.纯手写Map框架
纯手写Map框架 HashMap的介绍 HashMap的实现原理 从底层结构、put和get方法、hash数组索引、扩容机制等几个方面来分析HashMap的实现原理: 底层结构 HashMap的底层结构是由数组+链表构成的。 数组(紫色):hash数组(桶),数组元素是每个链表的头节点 链表(绿色):解决hash冲突,不同的key映射到了数组的同一索引处,则形成链表。 put和get方法 put...原创 2019-09-09 09:29:49 · 307 阅读 · 0 评论 -
04蚂蚁-源码分析——8.纯手写基于链表方式实现LinkList集合
LinkeList原理 LinkedList 和 ArrayList 一样,都实现了 List 接口,但其内部的数据结构有本质的不同。LinkedList 是基于链表实现的(通过名字也能区分开来),所以它的插入和删除操作比 ArrayList 更加高效。但也是由于其为基于链表的,所以随机访问的效率要比 ArrayList 差。 LinkedList数据结构原理 LinkedList底层的数据结构是...原创 2019-09-04 09:58:17 · 146 阅读 · 0 评论 -
04蚂蚁-源码分析——7.纯手写JDK不同版本下的List接口(ArrayList和Vector集合)
纯手写集合框架 集合框架介绍 说明:对于以上的框架图有如下几点说明 1.所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。 2. 集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。 3. 抽象类:5个抽象类(长虚线表示),对...原创 2019-09-03 13:47:36 · 268 阅读 · 0 评论 -
04蚂蚁-源码分析——6.纯手写Mybatis注解版本
纯手写Mybatis框架 接口层-和数据库交互的方式 MyBatis和数据库的交互有两种方式: 使用传统的MyBatis提供的API; 使用Mapper接口; 使用Mapper接口 MyBatis 将配置文件中的每一个 节点抽象为一个 Mapper 接口: 这个接口中声明的方法和 节点中的<select|update|delete|insert> 节点项对应,即<select|u...原创 2019-09-02 13:43:46 · 201 阅读 · 0 评论 -
04蚂蚁-源码分析——5.纯手写数据库连接池
数据库连接池原理 基本原理 在内部对象池中,维护一定数量的数据库连接,并对外暴露数据库连接的获取和返回方法。 如外部使用者可通过getConnection方法获取数据库连接,使用完毕后再通过releaseConnection方法将连接返回,注意此时的连接并没有关闭,而是由连接池管理器回收,并为下一次使用做好准备。 线程池作用 ①资源重用 由于数据库连接得到重用,避免了频繁创建、释放连接引起的大量性...原创 2019-08-29 14:38:21 · 376 阅读 · 0 评论 -
04蚂蚁-源码分析——4.手写SpringMVC框架之手写手写@RequestMapping和Controller注解
SpringMVC原理 giti地址mayiedu/src/main/java/com/mayi04/day20/下的项目 SpringMVC的运行流程 ⑴ 用户发送请求至前端控制器DispatcherServlet ⑵ DispatcherServlet收到请求调用HandlerMapping处理器映射器。 ⑶ 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则...原创 2019-08-28 13:46:26 · 374 阅读 · 0 评论 -
04蚂蚁-源码分析——3.手写SpringMVC框架之手写手写@Service和@Resource注解
SpringIOC原理 XML技术 什么是XML 它是可扩展标记语言(Extensible Markup Language,简称XML),是一种标记语言。 XML 全称为可扩展的标记语言。主要用于描述数据和用作配置文件。 XML 文档在逻辑上主要由一下 5 个部分组成: XML 声明:指明所用 XML 的版本、文档的编码、文档的独立性信息 文档类型声明:指出 XML 文档所用的 DTD 元素:由开...原创 2019-08-27 14:41:44 · 264 阅读 · 0 评论 -
04蚂蚁-源码分析——1.手写Spring事务框架
手写Spring事务框架 SpringAOP原理 AOP编程技术 什么是AOP编程 AOP: Aspect Oriented Programming 面向切面编程。 面向切面编程(也叫面向方面):Aspect Oriented Programming(AOP),是目前软件开发中的一个热点。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,...原创 2019-08-23 09:28:22 · 360 阅读 · 0 评论 -
04蚂蚁-源码分析——2.手写Spring事务注解版本&事务传播行为
手写Spring注解版本事务 注意:如果是实现默认的事务的时候,在spring.xml文件里面一定要记得去开启事务—— <!--开启注解事务--> <tx:annotation-driven transaction-manager="dataSourceTransactionManager"/></font> 注解 Jdk1.5新增新技术,注解。很多框架为...原创 2019-08-26 11:20:51 · 177 阅读 · 0 评论