上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 26 下一页

2018年9月7日

[转](查找一)二叉查找树详解

摘要: 在讲解二叉查找树之前,先了解一下二分查找。 二分查找 我们使用有序数组存储键,经典的二分查找能够根据数组的索引大大减少每次查找所需的比较次数。 在查找时,我们先将被查找的键和子数组的中间键比较。如果被查找的键小于中间键,我们就在左子数组中继续查找,如果大于我们就在右子数组中继续查找,否则中间键就是我 阅读全文

posted @ 2018-09-07 20:11 阿泰555 阅读(290) 评论(0) 推荐(0)

[转](查找二)2-3查找树(二叉三叉树)

摘要: 平衡查找树 阅读全文

posted @ 2018-09-07 19:57 阿泰555 阅读(1149) 评论(0) 推荐(0)

[转](查找三)红黑树详解

摘要: 【前言:本文所讨论的红黑树之目的在于使读者能更简单清晰地了解红黑树的构造,使读者能在纸上清晰快速地画出红黑树,而不是为了写出红黑树的实现代码。 若是要在代码级理解红黑树,则势必需要记住其复杂的插入和旋转的各种情况,我认为那只有助于增加大家对红黑树的恐惧,实际面试和工作中几乎不会遇到需要自己动手实现红 阅读全文

posted @ 2018-09-07 18:24 阿泰555 阅读(233) 评论(0) 推荐(0)

[转](查找四)散列表详解

摘要: 散列表是普通数组概念的推广。由于对普通数组可以直接寻址,使得能在O(1)时间内访问数组中的任意位置。在散列表中,不是直接把关键字作为数组的下标,而是根据关键字计算出相应的下标。 使用散列的查找算法分为两步。第一步是用散列函数将被查找的键转化为数组的一个索引。 我们需要面对两个或多个键都会散列到相同的 阅读全文

posted @ 2018-09-07 18:15 阿泰555 阅读(268) 评论(0) 推荐(0)

2018年9月5日

[转]ConcurrentHashMap原理分析

摘要: 一、背景: 线程不安全的HashMap 因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 效率低下的HashTable容器 HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下 阅读全文

posted @ 2018-09-05 20:51 阿泰555 阅读(163) 评论(0) 推荐(0)

[转]总结@Autowired 和@Resource

摘要: @Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按byName自动注入罢了。@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而typ 阅读全文

posted @ 2018-09-05 10:45 阿泰555 阅读(215) 评论(0) 推荐(0)

[转]HashMap的实现原理

摘要: 1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2. HashMap的数据结构: 在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模 阅读全文

posted @ 2018-09-05 00:32 阿泰555 阅读(161) 评论(0) 推荐(0)

2018年9月4日

[转]ArrayList的实现原理

摘要: 1. ArrayList概述: ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。 每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组 阅读全文

posted @ 2018-09-04 13:27 阿泰555 阅读(190) 评论(0) 推荐(0)

[转]HashMap,LinkedHashMap,TreeMap的区别

摘要: Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。 Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。HashMap最多只允许一条记录的键为Null;允 阅读全文

posted @ 2018-09-04 13:11 阿泰555 阅读(170) 评论(0) 推荐(0)

[转]单例模式详解

摘要: 3.1 单例模式的动机 对于一个软件系统的某些类而言,我们无须创建多个实例。举个大家都熟知的例子——Windows任务管理器,如图3-1所示,我们可以做一个这样的尝试,在Windows的“任务栏”的右键弹出菜单上多次点击“启动任务管理器”,看能否打开多个任务管理器窗口?如果你的桌面出现多个任务管理器 阅读全文

posted @ 2018-09-04 11:49 阿泰555 阅读(229) 评论(0) 推荐(0)

上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 26 下一页

导航