05 2016 档案
ConcurrentHashMap原理分析
摘要:集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的 阅读全文
posted @ 2016-05-12 18:38 吹吹风之学习路程 阅读(158) 评论(0) 推荐(0)
Vector和ArrayList的比较
摘要:今天研究了一下Vector和ArrayList的源码,又加深了对这两个类的理解。 List接口下一共实现了三个类:ArrayList,Vector,LinkedList。LinkedList就不多说了,它一般主要用在保持数据的插入顺序的时候。ArrayList和Vector都是用数组实现的,主要有这 阅读全文
posted @ 2016-05-11 21:24 吹吹风之学习路程 阅读(186) 评论(0) 推荐(0)
ArrayList和LinkedList的区别
摘要:ArrayList和Vector使用了数组的实现,可以认为ArrayList或者Vector封装了对内部数组的操作,比如向数组中添加,删除,插入新的元素或者数据的扩展和重定向。 LinkedList使用了循环双向链表数据结构。与基于数组ArrayList相比,这是两种截然不同的实现技术,这也决定了它 阅读全文
posted @ 2016-05-11 21:17 吹吹风之学习路程 阅读(535) 评论(0) 推荐(0)
模拟退火算法解析
摘要:一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优解。如图1所示:假设C点 阅读全文
posted @ 2016-05-08 17:19 吹吹风之学习路程 阅读(242) 评论(0) 推荐(0)