摘要: 在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。 在多线程开发当中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据。同样的道理,如果消费者的处理能力大于生产者,那么消费者就必须等待生产者。为了解决这个问题于是引入了生产者和消费者模式 阅读全文
posted @ 2017-12-03 16:44 Geek.w 阅读(642) 评论(0) 推荐(0) 编辑
摘要: 现在几乎所有流行的HashMap都采用了DJB Hash Function,俗称“Time33”算法 Times33实现起来非诚简单,不断的与33相乘:nHash = nHash*33 + *key++ 主要实现: 阅读全文
posted @ 2017-12-03 14:52 Geek.w 阅读(1365) 评论(0) 推荐(0) 编辑
摘要: 常见的操作接口有:Map,List,Set,Vector 其最常用的实现类有:HashMap,ArrayList,LinkedList,HashSet 但是只有Vector是线程安全的,Collections实现了一个些方法可以保证常用的集合类达到线程安全: Map: Map<Object,Obje 阅读全文
posted @ 2017-12-03 14:47 Geek.w 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 插入排序 ①:直接插入排序: 简单插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。 运行结果为: ②:二分插入排序: 快速找到插入时的位置 结果为: 冒泡排序: 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错 阅读全文
posted @ 2017-12-03 11:58 Geek.w 阅读(180) 评论(0) 推荐(0) 编辑