原创 ConcurrentHashMap源碼解析

最近有點想研究下java.util.concurrent 包下的一些類中的實現,在現實中也對這包裏的類應用不少,但都沒怎麼去深入理解,只是聽說裏面的實現在高併發中有不錯的性能。。接下將對裏面的幾個比較常用的類的源碼進行分析。。  

原创 Java集合---ConcurrentHashMap原理分析

轉自:http://www.cnblogs.com/ITtangtang/p/3948786.html  集合是編程中最常用的數據結構。而談到併發,幾乎總是離不開集合這類高級數據結構的支持。比如兩個線程需要同時訪問一箇中間臨界區(Qu

原创 java中線程執行順序控制

一:join()方法. thread.Join把指定的線程加入到當前線程,可以將兩個交替執行的線程合併爲順序執行的線程。比如在線程B中調用了線程A的Join()方法,直到線程A執行完畢後,纔會繼續執行線程B。 public clas

原创 hashCode與equals的區別與聯繫

爲什麼覆蓋(不是重載)equals方法一定要覆蓋hashCode方法 因爲如果只覆蓋了equals而沒有覆蓋hashCode, 則兩個不同的instance a和b雖然equals結果(業務邏輯上)相等,但卻會有不同的hashcod

原创 JAVA HashMap詳解

 HashMap 和 HashSet 是 Java Collection Framework 的兩個重要成員,其中 HashMap 是 Map 接口的常用實現類,HashSet 是 Set 接口的常用實現類。雖然 HashMap 和 H

原创 Strusts2原理解析

首先我們看一下struts官方給我們提供的struts執行流程 從上面流程圖我們可以看出struts執行的流程大體分一下階段: 1. 初始的請求通過一條標準的過濾器鏈,到達servlet 容器( 比如tomcat 容器,W

原创 ACM-直方圖最大面積-Largest Rectangle in Histogram

Largest Rectangle in Histogram 題目描述: Given n non-negative integers representing the histogram’s bar height where t

原创 JAVA容器-HashTable

 有兩個類都提供了一個多種用途的hashTable機制,他們都可以將可以key和value結合起來構成鍵值對通過put(key,value)方法保存起來,然後通過get(key)方法獲取相對應的value值。一個是前面提到的HashMa

原创 Java 遍歷HashMap並修改(remove)

遍歷HashMap的方法有多種,比如通過獲取map的keySet, entrySet, iterator之後,都可以實現遍歷,然而如果在遍歷過程中對map進行讀取之外的操作則需要注意使用的遍歷方式和操作方法。 public cl

原创 Concurrent包總結——線程任務執行框架

一 Executor接口 Executor接口的對象是一種執行任務的方式。它能夠使提交的任務和執行任務的線程的管理解耦。我們通常用Executor來代替new一個Thread對象來執行任務。這樣可以省略底層線程的管理細節。 例如:

原创 字符串全排列

[java] view plain copy   import org.junit.Test;      public class AllSort {          public void permutation(ch

原创 ThreadLocal類的用法與源碼解析

首先,ThreadLocal 不是用來解決共享對象的多線程訪問問題的,一般情況下,通過ThreadLocal.set() 到線程中的對象是該線程自己使用的對象,其他線程是不需要訪問的,也訪問不到的。各個線程中訪問的是不同的對象。 另外,

原创 Java HashSet詳解

HashSet 的實現 對於 HashSet 而言,它是基於 HashMap 實現的,HashSet 底層採用 HashMap 來保存所有元素,因此 HashSet 的實現比較簡單,查看 HashSet 的源代碼,可以看到如下代碼: