原创 java 併發編程(三)之synchronized

上兩個章節:java 併發編程(一)之synchronized、java 併發編程(二)之synchronized實例 中講解了synchronized關鍵字對同步的控制以及演示了在修飾方法的例子。 我們會發現添加synchroniz

原创 java NIO(十) 緩衝區——compact方法介紹

注意java6幫助文檔對compact方法的介紹 compact public abstract ByteBuffer compact()壓縮此緩衝區(可選操作)。 將緩衝區的<strong><em><u>當前位置和界限之間的字節(如

原创 java NIO(九) 緩衝區——字節緩衝區&&直接緩衝區

字節緩衝區,顧名思義“緩衝”對象是字節,但是字節緩衝區又是一個特殊的緩衝區,因爲字節是操作系統及其IO設備使用的基本數據類型。 字節緩衝區和其他緩衝區最明顯的區別在於,他們可以成爲通道所執行的IO的源頭和目標。通道只接收ByteBuff

原创 java 併發編程(四)之臨界區中使用條件

我們可以使用synchronized機制實現線程同步,通過保證“臨界區”的訪問順序來保證共享資源狀態的正確性。 然而,更多情況是我們不僅需要獲得對“臨界區”的訪問,在獲得訪問權限後也要判斷更多的條件來確定是否 要做出後續的操作。 典型的

原创 zookeeper——分佈式鎖

我們可以把zookeeper看做是一個高可用的分佈式文件系統。藉助於zookeeper的特性,我們可以很方便的實現分佈式的一些服務 其中典型的應用場景有:服務配置、分佈式鎖和分佈式隊列。 本節,我會講解分佈式鎖的實現。 我們藉助於zk的

原创 java https訪問

最近在研究java 網絡編程,在把reilly的書看完後想要試着寫一個小玩意兒。 在開始的時候便遇到了麻煩,那就是java 的https訪問,關於https訪問的細節,書裏並沒有講解。 因此從昨天下午到現在是一頭霧水。在嘗試了集中方法後,

原创 java 動態代理機制分析及擴展

引言 Java 動態代理機制的出現,使得 Java 開發人員不用手工編寫代理類,只要簡單地指定一組接口及委託類對象,便能動態地獲得代理類。代理類會負責將所有的方法調用分派到委託對象上反射執行,在分派執行的過程中,開發人員還可以按需調整

原创 時間戳效率比較

package now.start; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.

原创 RocketMQ學習(一)

MQAdmin<-------------MQProducer<-----------------ClientConfig MQProducer<-------------DefaultMQProducer->ClientConfig

原创 RocketMQ(二)——TopicPublicInfo

Producer發送消息是如何得知發到哪個broker的 ? 每個應用在收發消息之前,一般會調用一次producer.start()/consumer.start(),幕後的工作就是:創建需要的實例對象,如MQClientInstance

原创 併發多階段任務的執行——Phaser

java併發API從java7提供了併發多階段任務的抽象Phaser。如果我們有併發任務且需要分段執行的時候 我們可以考慮Phaser這個類。 Phaser有一個特別的地方,即不需要處理InterruptedException除了(aw

原创 java NIO(五) 緩衝區——創建緩衝區

NIO有兩種方式創建緩衝區:分配、包裝 我們以CharBuffer爲例進行說明: 一、分配方式:allocate 下面是java6對CharBuffer的allocate的定義: public static CharBuffer al

原创 java 併發編程(一)之synchronized

對“共享資源”的訪問爲了保證正確性,引入了“臨界區”的概念(critical section) 對於“臨界區”的訪問java通常使用synchronized和鎖進行。 對於“臨界區”的訪問策略是,當線程A要訪問“臨界區”時會先進行判斷,

原创 java https添加證書

添加證書:keytool -keystore "C:\Program Files\Java\jdkihu\jre\lib\security\cace

原创 java NIO(四) 緩衝區——大端字節書序 小端字節順序

處理器是大端還是小端關鍵看處理器芯片,不同的廠商可能不同,intel遵循小端字節順序。 大端字節順序: 小端字節順序: java中java.nio.ByteOrder對象用來描述和判斷jvm運行的處理器的字節順序。