代码改变世界

jdk源码分析红黑树——插入篇

2016-11-01 20:58 by v_ZSW, 792 阅读, 0 推荐, 收藏, 编辑
摘要:红黑树是自平衡的排序树,自平衡的优点是减少遍历的节点,所以效率会高。如果是非平衡的二叉树,当顺序或逆序插入的时候,查找动作很可能会遍历n个节点 红黑树的规则很容易理解,但是维护这个规则难。 一、规则 1.每个节点要么是红色、要么是黑色 2.根节点一定是黑色 3.红色节点不可以连续出现(父节点、子节点 阅读全文

jdk源码分析PriorityQueue

2016-10-31 16:17 by v_ZSW, 363 阅读, 0 推荐, 收藏, 编辑
摘要:一、结构 PriorityQueue是一个堆,任意节点都是以它为根节点的子树中的最小节点 堆的逻辑结构是完全二叉树状的,存储结构是用数组去存储的,随机访问性好。最小堆的根元素是最小的,最大堆的根元素是最大的 这是一个最小堆的逻辑结构 这是他的存储结构,是用数组来存储的。 可以看到,i下标的数组元素, 阅读全文

jdk源码分析ArrayDeque

2016-10-27 19:53 by v_ZSW, 494 阅读, 0 推荐, 收藏, 编辑
摘要:ArrayDeque 数组循环队列,这个数据结构设计的挺有意思的。 据说此类很可能在用作堆栈时快于 Stack,在用作队列时快于 LinkedList。 一、容量 1.1默认容量是8=2^3 1.2指定初始化容容量 此方法是给数组分配初始容量,初始容量并不是numElements,而是大于指定长度的 阅读全文

jdk链表笔记

2016-10-26 19:24 by v_ZSW, 351 阅读, 0 推荐, 收藏, 编辑
摘要:LinkedList LinkedList是双链表,并且有头尾指针 数据结构 他持有头节点和未节点,并且初始的时候,这两个节点都为null 这是节点的结构,有一个数据域和前后指针 功能实现 1.随机访问的优化node(index) 该方法是随机访问的基础实现,用于获取根据下标获取节点,亮点在于,先判 阅读全文

jdk顺序表笔记

2016-10-26 19:17 by v_ZSW, 444 阅读, 0 推荐, 收藏, 编辑
摘要:一、AbstractCollection 提供了集合的最大实现 继承该类,必须实现size()和iterator(),因为该类操作集合都是通过iterator 二、fail-fast策略 该策略在集合框架中多次被应用 一种多线程对同一集合操作的保护措施,确保操作目标没有被其他线程操作过,与cas思想 阅读全文

SpringMVC类型转换器、属性编辑器

2016-07-16 17:30 by v_ZSW, 4087 阅读, 0 推荐, 收藏, 编辑
摘要:对于MVC框架,参数绑定一直觉得是很神奇很方便的一个东西,在参数绑定的过程中利用了属性编辑器、类型转换器 参数绑定流程 参数绑定:把请求中的数据,转化成指定类型的对象,交给处理请求的方法 请求进入到DisptacherServlet,卸下请求中的数据 DisptacherServlet将请求中的数据 阅读全文

SpringMVC基本使用

2016-07-15 02:56 by v_ZSW, 7847 阅读, 0 推荐, 收藏, 编辑
摘要:springMVC是一个MVC框架,他控制着请求相应的整个流程,从请求一进入到应用服务器到相应离开,都离不开mvc框架 请求在应用服务器中 先说说请求相应在应用服务器的整个过程 DisptacherServlet接收到请求,并读取出请求中的数据 DisptacherServlet根据请求中的信息(u 阅读全文

spring整合hibernate

2016-07-14 22:29 by v_ZSW, 773 阅读, 0 推荐, 收藏, 编辑
摘要:spring整合hibernate包括三部分:hibernate的配置、hibernate核心对象交给spring管理、事务由AOP控制 好处: 由java代码进行配置,摆脱硬编码,连接数据库等信息更灵活 session等生命周期得到更好的控制,session和事务依赖注入到DAO中,更爽 事务由A 阅读全文

spring aop注解配置

2016-07-14 10:45 by v_ZSW, 466 阅读, 0 推荐, 收藏, 编辑
摘要:spring aop是面向切面编程,使用了动态代理的技术,这样可以使业务逻辑的代码不掺入其他乱七八糟的代码 可以在切面上实现合法性校验、权限检验、日志记录。。。 spring aop 用的多的有两种配置方法:注解配置和xml配置 注解配置更好,友好重构、错误也好检查 在这里只讲注解配置 aop概念 阅读全文

代理

2016-07-14 00:24 by v_ZSW, 187 阅读, 0 推荐, 收藏, 编辑
摘要:代理就像个中介,最外层操作代理对象,代理对象再调用委托对象 当需要在调用前后做一些处理,但是这些处理与业务逻辑无关的时候,如果把无关代码写在业务逻辑里面,代码就会变得很乱,这时候用代理就再好不过了。 就像spring的aop编程,也是用了代理,在调用前后做一些校验、日志记录等无关业务流程的事 因为要 阅读全文