随笔 - 232
文章 - 0
评论 - 26
阅读 -
38万
03 2014 档案
[转]Java8-本地缓存
摘要:这里我将会给大家演示用ConcurrentHashMap类和lambda表达式实现一个本地缓存。因为Map有一个新的方法可以在key为Null的时候自动计算一个新的value值。非常完美的实现cache。来看下代码:public static void main(String[] args) { for (int i = 0; i cache = new ConcurrentHashMap();(译者注:这种写法在Java8中是允许的)声明cache之后,通过Map.computeIfAbsent() 方法,可以在key所对应的value值不存在的情况下,计算一个新的value值。超高...
阅读全文
《算法导论》笔记---第6章 堆排序
摘要:/** * * @author gyb * 《算法导论(第二版)》--第六章 堆排序 * * maxHeapify(int[] a,i) * 将指定结点i的子树成为最大堆 * 书中伪代码: * MAX-HEAPIFY(A, i) * l ← LEFT(i) * r ← RIGHT(i) * if l ≤ heap-size[A] and A[l] > A[i] * then largest ← l * else largest ← i * if r ≤ heap-size[A] and A[r]...
阅读全文
synchronized和static synchronized的比较
摘要:群里讨论的一个问题,网上别人已经贴出了很详细的说明,这里补充记录下,后面加入个人测试代码。起因:1月份的时候看群里讨论一道问题,问题内容如下: 一个日本作者-结成浩的《java多线程设计模式》有这样的一个列子:pulbic class Something(){ public synchronized void isSyncA(){} public synchronized void isSyncB(){} public static synchronized void cSyncA(){} public static synchronized void cSyncB...
阅读全文
《算法导论》笔记---附录 B.5 树
摘要:遇到同样的问题,在豆瓣上转过来记录下。以下内容转自:http://book.douban.com/annotation/16409380/-------------------分割线--------------------------------------最近钻研CLRS,以求在数据结构与算法方面更进一步学习,着实发现国外教材的严谨,全面,严奶奶着实不及。也发现前路漫漫,其修远兮,我必须上下而求索。也发现了一些中外教材定义上不一致的地方,尤以树这个方面比较突出。一些差别:1.深度,高度的定义在严教材中,对深度和高度有如下定义(P120): 结点的层次从根开始定义起,根为第一层,根的孩子为第二
阅读全文