摘要: 1.Java 并发编程的容器ConcurrentHashMap,HashTable,Collections.synchronizedMap 三者比较。HashTable,Collections.synchronizedMap 提供对hashmap的独占锁,当有一个线程对其remove,add,遍历,等操作时,即使cpu有空闲的资源,也不能访问该容器。可伸缩性比较差。而ConcurrentHashMap采用的颗粒更细小的锁,采用32个独立的锁对hash bucket的子集进行,那么最多就可以有32个线程进行并发访问。显然极大的提高了并发性,但是带来一个问题,如果有些操作必须使用独占访问,那该如何 阅读全文
posted @ 2013-11-30 23:19 andyqee 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 链表反转,返回反转后的链表头节点。记得在遍历过程中保存前面节点的指针可以用递归和迭代两种方法来实现,在我学习的过程中,递归实现相对比较难以理解一些递归法:public static ListNode reverseList(ListNode head){ if(head == null){ return head;} //base case ListNode nHead = reverseList(head.next); head.next.next = head; head.next = null; return nHead;}递归算法就是显得比较优雅 尾部... 阅读全文
posted @ 2013-11-30 16:52 andyqee 阅读(225) 评论(0) 推荐(0) 编辑