原创 進一步瞭解ActiveMQ
進一步瞭解ActiveMQ 一、JMS選擇器 在生產端發送消息的時候,可以對每一個消息設置屬性,大概有以下的方法,可以設置int類型、boolean類型、byte類型等的key-value對應的屬性: 設置完成後,可以在
原创 TCP連接的三次握手和連接關閉的四次揮手
TCP連接的三次握手和連接關閉的四次揮手 一、文章大綱圖 二、建立TCP連接三次握手過程第一次握手,由客戶端發送syn報文給服務器端。第二次握手,服務器端返回ack(確認)+syn報文給客戶端。第三次握手,客戶端發送ack(確
原创 算法:冒泡算法及優化
算法:冒泡算法及優化 代碼如下:public class MaoPao { public static int a[] ={1,2,3,4,5,6,7,8,9}; public static void main(St
原创 ThreadLocal深入淺出
ThreadLocal深入淺出 一、分析ThreadLocal源碼 ThreadLocal的核心方法一共就幾個,get(),set()等等,我們由get()開始,一邊分析其源碼,一邊揭開ThreadLocal的面紗。 先
原创 redis的特性
redis的特性 承接上文redis入門篇,本文具體介紹一下redis的特性,以及與另外一個nosql數據庫memcached的對比。 一、redis的優點 根據上文,我們知道redis的如下特性成爲了他的競爭力:key
原创 Java的Lock鎖和synchronized關鍵字的區別及其使用
Java的Lock鎖和synchronized關鍵字的區別及其使用 一、synchronized關鍵字和Lock的區別以及優缺點 我們可以回顧一下synchronized的使用,synchronized釋放鎖的時機有以下幾種:
原创 RocketMQ:入門篇
RocketMQ:入門篇 一、簡介 RocketMQ是大名鼎鼎的阿里開發的開源消息中間件,由於其高性能和可靠性,常被使用於企業的分佈式架構中。 他有着如下優點:RocketMQ原生地支持分佈式,不像ActiveMQ需要z
原创 CopyOnWrite容器解決的併發問題
CopyOnWrite容器解決的併發問題 先看這麼一段代碼: public static void main(String[] args) throws InterruptedException { List<
原创 ConCurrentHashMap的實現原理
ConCurrentHashMap的實現原理 一、JDK1.6和JDK1.7中的實現設計思路ConCurrentHashMap採用分段鎖的思想,每一個段都有一把鎖,從而提高了併發度(即同時操作ConCurrentHashMap而不產
原创 redis入門篇
redis入門篇 一、redis簡介 redis是key-value數據結構的內存數據庫。 至於具體特點,會在本系列最後一一列出,先看redis的入門。 二、redis的五種數據類型和指令 1、對key的操作
原创 Servlet/JSP、Struts1、Struts2以及SpringMVC的線程安全性
Servlet/JSP、Struts1、Struts2以及SpringMVC的線程安全性 一、Servlet/JSP Servlet/JSP一直都是MVC界的老大哥,我們來回顧一下Servlet的生命週期。 當客戶端第一
原创 CAS和ABA問題
CAS和ABA問題 引言:樂觀鎖和悲觀鎖的概念 悲觀鎖:悲觀鎖悲觀地認爲,自己執行操作的過程中一定有人修改過自己操作的值,所以在自己操作之前會加上一把鎖,synchronized就是一個悲觀鎖。 樂觀鎖:樂觀鎖則樂觀地認
原创 類加載詳述以及雙親委派模型
類加載詳述以及雙親委派模型 一、簡介類加載過程 在上一文中,已經簡單的講解過類加載的步驟,此處稍做複習一下,不經意一看,已經是三月份的文章了...(文章鏈接) 類加載機制大方向分爲三個步驟: 1、加載:用於查找和導
原创 C++中的指針,引用和Java中的對象
C++中的指針,引用和Java中的對象引用 一、C++中指針和引用的區別相同點:在c++中,指針和引用都可以讓人間接地操作一個對象。不同點:1、兩者在定義上不同:指針是存放對象的地址的一塊內存,而引用是對象的別名。2、看看以
原创 詳解HashMap
詳解HashMap 一、數據結構 HashMap是由Hash表(散列表)維護的一個數據結構模型,什麼是Hash表呢? 哈希表,是根據Key-value直接進行訪問的數據結構,也就是說,它通過把關鍵碼值映射到表中一個位置來