原创 Java™ Garbage CollectionStatistical Analysis

PPT 見http://download.csdn.net/download/hsuxu/5620967 1. Java™ Garbage CollectionStatistical Analysis 101.Juarez Junior

原创 Java: notify() vs. notifyAll()

Simply put, it depends on why your threads are waiting to be notified. Do you want to tell one of the waiting threads

原创 LCA問題解法

http://dongxicheng.org/structure/lca-rmq/

原创 經典數據結構-trie樹詳解

1、 概述 Trie樹,又稱字典樹,單詞查找樹或者前綴樹,是一種用於快速檢索的多叉樹結構,如英文字母的字典樹是一個26叉樹,數字的字典樹是一個10叉樹。 Trie一詞來自retrieve,發音爲/tri:/ “tree”,也有人讀

原创 深入理解Java內存模型(四)——volatile

volatile的特性 當我們聲明共享變量爲volatile後,對這個變量的讀/寫將會很特別。理解volatile特性的一個好方法是:把對volatile變量的單個讀/寫,看成是使用同一個監視器鎖對這些單個讀/寫操作做了同步。下面我們

原创 【翻譯】兩種高性能I/O設計模式(Reactor/Proactor)的比較

這是05年的老文章,網上應該有人早就翻譯過了,我翻譯它僅僅爲了學習Reactor/Proactor兩種TCP服務器設計模式,順便作翻譯練習。 標題: 兩種高性能I/O設計模式的比較 作者: Alexander Libman 、Vladi

原创 負載均衡的幾種實現技術

當web服務器的垂直擴展變得話費很高或困難的時候,我們需要考慮服務器的水平擴展,即負載均衡技術。負載均衡有很多技術,這裏我們來一一介紹。 1.HTTP重定向 我們可以在代碼層面實現,通過設定訪問特定頁面如index.php,在php代碼中

原创 深入JVM鎖機制

目前在Java中存在兩種鎖機制:synchronized和Lock,Lock接口及其實現類是JDK5增加的內容,其作者是大名鼎鼎的併發專家Doug Lea。本文並不比較synchronized與Lock孰優孰劣,只是介紹二者的實現原理。

原创 tomcat5源碼解析一 PoolTcpEndpoint類

PoolTcpEndpoint類負責創建監聽http連接端口的serversocket,並將得到得連接交給線程池中的線程處理。 早些時候Tomcat使用的是一個線程監聽,多個工作線程的模式:即一個線程專門負責響應連接請求,再遞交給工作

原创 Java併發編程之ConcurrentHashMap

ConcurrentHashMap ConcurrentHashMap是一個線程安全的Hash Table,它的主要功能是提供了一組和HashTable功能相同但是線程安全的方法。ConcurrentHashMap可以做到讀取數據不加鎖

原创 HotSpot VM的生命週期

1.啓動: (1) 解析命令行參數:如-client 或 -server (2)分配java的堆和選擇好確定的JIT編譯器類型(client 或 server)、 (3) 創建運行環境如LD_LIBRARY_PATH和CLASSPATH

原创 Synchronization and the Java Memory Model

This set of excerpts from section 2.2 includes the main discussions on how the Java Memory Model impacts concurrent pro

原创 深入理解Java內存模型(六)——final

與前面介紹的鎖和volatile相比較,對final域的讀和寫更像是普通的變量訪問。對於final域,編譯器和處理器要遵守兩個重排序規則: 在構造函數內對一個final域的寫入,與隨後把這個被構造對象的引用賦值給一個引用變量,這兩個操

原创 java中的Synchronized 實現

1 引言 在多線程併發編程中Synchronized一直是元老級角色,很多人都會稱呼它爲重量級鎖,但是隨着Java SE1.6對Synchronized進行了各種優化之後,有些情況下它並不那麼重了,本文詳細介紹了Java SE1.6中爲

原创 Java輕量級鎖原理詳解(Lightweight Locking)

大家知道,Java的多線程安全是基於Lock機制實現的,而Lock的性能往往不如人意。 原因是,monitorenter與monitorexit這兩個控制多線程同步的bytecode原語,是JVM依賴操作系統互斥(mutex)來實現的。