锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
璁板緱鑰佸笀鏄繖涔堟弿榪版懇灝斿畾寰?/span>
-“
璁$畻鏈鴻姱鐗囬泦鎴愮數璺暟閲忥紝姣?/span>
18
涓湀緲諱竴緲?#8221;銆傚惉榪囦箣鍚庯紝鎴戦】鏃舵劅鍒扮濂囥傜鐨勫湴鏂規槸錛屼笉鑳界悊瑙d負浠涔堢數鑴戠數鑴戞洿鏂拌繖涔堝揩銆傚鐨勫湴鏂癸紝璁$畻鏈鴻姱鐗囨棦鐒剁墿璐紝閭d箞鑲畾鏈夋瀬闄愶紝鑺墖鏁伴噺綰т笉鍙兘浼氭垚鏁板瑙勫緥澧為暱銆傚洜姝わ紝鎴戝榪欎釜棰勮█涓鐩存姳鏈夋鐤戠殑鎬佸害銆?/span>
閽堝榪欎釜鐞嗚錛屼笘鐣岃姱鐗囩駭宸ㄥご Intel 鐩稿綋鍦拌鍙紝姣曠珶鎽╁皵鍏朵漢涔熸槸 Intel 鍒涘緩浜轟箣涓銆傚洜姝わ紝 Intel 鑺墖鏁伴噺鐨勮寰嬮潪甯歌創榪戞懇灝斿畾寰嬨?/span>
鍦ㄥ緢澶х▼搴︿笂錛岀‖浠舵墽琛岄熷害鍐沖畾浜嗚綆楁満鐨勮繍琛岄熷害銆傞偅涔熷氨璇達紝鎽╁皵瀹氬緥涔熷獎鍝嶇潃緋葷粺榪愯鏁堢巼銆備紬鎵鍛ㄧ煡錛屾搷浣滅郴緇熸敮鎸佸茍鍙戞墽琛岋紝涓嶈繃鍦ㄥ崟澶勭悊鍣紝瀹忚涓婃槸騫惰 錛屼絾寰涓婃槸涓茶銆傚湪榪欑鎯呭喌涓嬶紝騫惰瀹炵幇鍒欐槸鐢?/span> CPU 杞鐨勬柟寮忔潵鎵ц浠誨姟錛屽湪鐢ㄦ埛鎰熺煡涓嬶紝鏄笉浼氳寰楀歡榪熺殑銆傚鏋?/span> CPU 澶勭悊鐨勯熷害瓚婂揩錛屽洜姝わ紝 CPU 鍦ㄤ換鍔′箣闂村垏鎹㈢殑鏃墮棿灝辮秺鐭紝鐢ㄦ埛鏇村姞涓嶄細瀵熻銆?/span>
鎽╁皵瀹氬緥錛屽彲璋撴槸鎴愪篃 Intel 錛岃觸涔?/span> Intel 銆傜敱浜庡紑鍙戞垚鏈拰鐗╃悊鏋侀檺絳夊師鍥狅紝鍗曞鐞嗗櫒閬囧埌浜嗙摱棰堬紝 鎽╁皵瀹氬緥涔熷鍛婂け鏁堛傛柊鐨勬椂浠f潵涓?/span> - 澶氬鐞嗗櫒鏃朵唬銆?/span>
絎旇呭嵈璁や負鎽╁皵瀹氬緥灝辨槸涓涓?#8220;澶у拷鎮?#8221;錛屾棤璁烘槸鐗╃悊闄愬埗錛岃繕鏄綆楁満浣撶郴鍜岃剳鍔涚殑灞闄愭с傛鎵璋撹嫳闆勬墍瑙佺暐鍚屻備笉涔呭墠錛屽井杞垱濮嬩漢 - 鐩栬尐鍏勫紵錛屼篃璧炲悓榪欑瑙傜偣 銆傚悓鏃訛紝 Intel 榪欎簺鍏徃錛屼負浜嗗譏琛ユ妧鏈潻鍛戒笂闈㈢殑鎲嬭凍錛屾妸榪欑鎽╁皵鎰忚瘑寮哄妞嶅叆浜嗘皯浼楃殑澶ц剳錛岃繖灝變笉闅捐В閲婏紝鍦?/span> 2005 騫存湁涓涓叕鍙稿彨 AMD 璁?/span> Intel 澶氫箞鐨勭嫾鐙堬紝鍏朵腑鏈鏈夊▉鎱戝姏搴斿睘浜?/span> x64 鏋舵瀯銆?/span>
鏃犺鎽╁皵瀹氬緥鐣欎笅浜嗕粈涔堬紝澶氬鐞嗗櫒鏃朵唬宸茬粡鏉ヤ復銆?/span>
涓婁竴綃囷細1.鍩虹 涓嬩竴綃囷細1.2 澶氬鐞嗗櫒鏃朵唬
褰撴墦鐮村吇鐢?#8220;紲炶瘽”鏃訛紝鑰佺櫨濮撳張“娓呴啋”榪囨潵錛岃濯掍綋鐜╁紕鍒版棤浠ュ鍔犲湴姝ャ傜煡璇嗗尞涔忓拰涓嶆眰鐢氳В錛岀敋鑷蟲鐤戠簿紲為兘涓嶅叿澶囷紝鑳戒笉鎴愪負鎮插墽鍚楋紵
鏀劇溂IT棰嗗煙錛岀粨鏋滃彂鐜頒篃鏄儕浜虹殑鐩鎬技銆?/font>
鐜頒唬緙栫▼璇█鐨勫彂灞曪紝璁╄繖涓涓氱殑闂ㄦ瓚婃潵瓚婁綆銆傚氨璇█鍙戝睍瑙掑害鑰岃█錛岃繖鏄竴縐嶅繀鐒惰秼鍔褲備粠浠庝笟浜哄憳鐨勭礌璐ㄨ岃█錛屾敞瀹氫簡鑹帬涓嶉綈鐨勭幇璞°傚線寰鎶鏈漢鍛樺鏄撶粡涓嶈搗“鏂版妧鏈?#8221;鐨?#8220;璇辨儜”錛屼笉鏂涔犳墍璋撴柊鐨?#8220;鎶鏈?#8221;銆傚湪Java棰嗗煙錛屾亹鎬曟病鏈変漢涓嶇煡閬?#8220;SSH”妗嗘灦鐨勫ぇ鍚嶃傛鏋舵垚灝變簡鍏朵綔鑰咃紝涔熸垚浜嗕竴縐嶆枃鍖栥傛湰浜轟綔涓洪潰璇曞畼鏃訛紝褰撻棶鍒拌鎻忚堪涓涓嬩互鍓嶉」鐩殑鏋舵瀯錛熸繪槸鑳藉鍚埌綾諱技浜庤繖鏍風殑絳旀-“緋葷粺閲囩敤SSH鏋舵瀯...”銆備篃璁擱潰璇曞繀璋?/font>SSH錛屽洜姝ゆ湰浜虹殑綆鍘嗗緢闅懼惛寮曚粬浜虹殑鐪肩悆銆?/font>
褰撴垜絎竴鐪肩湅鍒?font face="Times New Roman">Spring錛岃寰楀畠灝辨槸“鐜╁叿”錛岃繖鏍風殑璦璁轟篃璁鎬細閬埌Spring綺変笣鐨勫彛璇涚瑪浼愩傚綋浣犺兘澶熷弽鍚戞濊冪殑鏃訛紝浣犵殑涓栫晫涔熶細鍙戠敓鍙樺寲銆?/font>Spring緇欐垜浠甫鏉ヤ簡浠涔堬紵渚濊禆鍊掔疆錛屼笉絳夊悓浜庨浂渚濊禆銆傝交嫻稿叆鎬э紝涓嶇瓑浜庢病鏈夋蹈鍏ユс傜郴緇熸媶鍘?/font>Spring錛岃櫧鐒惰兘澶熶繚璇佹簮浠g爜鍏煎鎬э紙緙栬瘧鏃朵笉浼氶亣鍒伴棶棰橈級錛屽彲鏄偅鏍風郴緇熺瓑鍚屼簬孌嬪簾-鐣欎笅浜嗕竴鍫嗘病鏈夊叧鑱斿璞°傚綋鐒訛紝鐩殑騫朵笉鍦ㄤ簬鑺卞ぇ鍔涙皵鏉ユ壒璇?/font>Spring錛屾瘯绔熷瓨鍦ㄥ嵆鐞嗙敱錛?/font>Spring榪樻槸鏈夊叾浼樼偣-鑹ソ鍦扮紪紼嬮鏍煎拰涓板瘜鐨勭被搴撶瓑銆?/font>Struts鍜?/font>Hibernate涔熷姝ゃ備綔涓轟笓涓氫粠涓氫漢鍛橈紝璁ㄨ“璋佹槸璋侀潪”鏄病鏈夋剰涔夌殑銆傚垎鏋愪嬌鐢ㄥ満鏅紝鎵嶆槸鏈夋剰涔夌殑錛屽墠鎻愭槸浣犲繀欏諱簡瑙e畠鐨勪紭緙虹偣錛屽茍闈炶繋鍚堟垨濂夋壙瀹冿紝涓嶈涓轟簡鎶鏈屾妧鏈?/font>
褰撲綘鍘屽︿簡妗嗘灦鐨勯噸澶嶅姵鍔紙閲嶅鐨勭紪鐮佸伐浣滃拰澶ч噺鏂板瀷妗嗘灦閲嶅鍙戞槑杞瓙錛夛紝涔熻浣犳洿鍔犲叧娉ㄤ簬鍘熺悊鎬х殑涓滆タ錛岀敋鑷蟲槸瀹炵幇緇嗚妭銆傞偅涔堬紝鏈郴鍒楃殑鏂囩珷灝卞緢鍙兘浼氶傚悎浣犮?/span>
褰撴垜浠垰鎺ヨЕ鏌愪釜浜嬬墿鏃訛紝鍊懼惉錛堣瀵燂級瀹冿紝鎬鐤戯紙鍒嗘瀽錛夊畠錛屽畾浣嶅畠銆傚吋鍚垯鏄庯紝鍋忓惉鍒欐殫銆?/span>
鏂囩珷鏉ユ簮錛?a title="浣滆匤avaEye Blog" target="_blank" >浣滆呯殑JavaEye Blog銆?/strong>
1. 鍩虹
1.1 鎽╁皵瀹氬緥
1.2 澶氬鐞嗗櫒鏃朵唬
1.2.1 瀵圭О澶氬鐞嗭紙 Symmetric Multi-Processor, a.k.a SMP錛?br />
1.2.2 闈炲縐板澶勭悊錛?ASymmetric Multi-Processor, a.k.a ASMP錛?br />
1.2.3 闈炵粺涓鍐呭瓨璁塊棶錛?a.k.a NUMA錛?br />
1.3 鍏變韓鍐呭瓨錛圫hared Memory錛?br />
1.4 CPU 緙撳瓨
1.4.1 緙撳瓨涓鑷存э紙Cache coherence錛?br />
1.4.2 MESI鍗忚錛圡ESI protocol錛?br />
1.5 綰跨▼
1.5.1 璧鋒簮錛圫ource錛?br />
1.5.2 浼樺娍錛圓dvantages錛?br />
1.5.3 綾誨瀷錛圱ypes錛?br />
1.5.4 妯″瀷錛圡odels錛?br />
1.5.5 瀹炵幇錛圛mplementations錛?br />
1.5.6 瀹夊叏錛圫ecurity錛?br />
1.6 鍐呭瓨妯″瀷 (Memory Model)
1.6.1 鍙鎬э紙Visibility錛?br />
1.6.2 鍘熷瓙鎬э紙Atomicity錛?br />
1.6.3 欏哄簭鎬э紙Order錛?br />
1.7 浜掓枼錛?Mutual Exclusion錛?br />
1.7.1 闃誨鍚屾錛?Blocking Synchronization錛?br />
1.7.1.1 涓寸晫鍖猴紙Critical Section錛?br />
1.7.1.2 閿侊紙Lock錛?br />
1.7.1.2.1 綾誨瀷錛圱ypes錛?br />
1.7.1.2.1.1 鑷棆閿侊紙Spinning Lock錛?br />
1.7.1.2.1.2 鏍囩閿侊紙Ticket Lock錛?br />
1.7.1.2.1.3 鍋忓悜閿侊紙Biased Lock錛?
1.7.1.2.2 鏁版嵁搴撻攣錛圖atabase Lock錛?
1.7.1.2.2.1 娑堟瀬閿?br />
1.7.1.2.2.2 涔愯閿?br />
1.7.1.2.3 闂錛圥roblems)
1.7.1.2.3.1 媧婚攣錛圠ive Lock錛?br />
1.7.1.2.3.2 姝婚攣錛圖ead Lock錛?br />
1.7.1.2.3.3 浼樺厛綰у掔疆錛圥riority Inversion錛?br />
1.7.1.2.3.4 鍏朵粬錛圤thers錛?nbsp;
1.7.2 闈為樆濉炲悓姝ワ紙Non-Blocking Synchronization錛?br />
1.7.2.1 Wait-free綆楁硶
1.7.2.1.1 姣旇緝浜ゆ崲綆楁硶錛圕ompare-And-Swap, a.k.a CAS錛?br />
1.7.2.1.2 榪炴帴鍔犺澆/鏉′歡瀛樺偍錛圠oad-link/Store-conditional錛?br />
1.7.2.1.3 ABA闂
1.7.2.2 Lock-free
1.7.2.3 Obstruction-free
1.7.3 閲嶈繘鍏ワ紙Reentrant錛?br />
1.7.4 鐩戣鍣紙Monitor錛?br />
1.7.4.1 絳夊緟鍜屼俊鍙鳳紙Wait and Signal錛?br />
1.7.4.2 鏉′歡鍙橀噺錛圕ondition Variable錛?br />
1.7.5 淇″彿鐏紙Semaphore錛?br />
1.7.6 鍙屾鏌ラ攣錛圖ouble-Checked Locking, a.k.a DCL錛?br />
1.8 鍐呭瓨鏍呮爮錛圡emory Barrier/Fence)
1.9 涓鑷存фā鍨嬶紙Consistency Model錛?br />
1.9.1 鍘熷瓙涓鑷存э紙 Atomic consistency錛?br />
1.9.2 榪炵畫涓鑷存э紙Sequential Consistency錛?br />
1.9.3 鍥犳灉涓鑷存э紙Causal Consistency錛?nbsp;
1.9.4 閲婃斁涓鑷存э紙Release Consistency錛?nbsp;
1.9.5 鏈緇堜竴鑷存э紙Eventual Consistency錛?br />
1.9.6 Delta涓鑷存э紙Delta Consistency錛?nbsp;
1.9.7 寮變竴鑷存э紙Weak Consistency錛?nbsp;
1.10 騫跺彂鎺у埗錛圕oncurrency Control錛?br />
1.10.1 杞歡浜嬪姟瀛樺偍錛圫oftware Transactional Memory,a.k.a STM錛?br />
2. Java 鍩虹
2.1 Java鍚屾鍘熻
2.1.1 synchronized鍏抽敭瀛?br />
2.1.2 volatile 鍏抽敭瀛?br />
2.1.3 CAS鎿嶄綔-AtomicX
2.2 Java鍐呭瓨妯″瀷
2.2.1 鍙鎬э紙Visibility錛?br />
2.2.2 鍘熷瓙鎬э紙Atomicity錛?br />
2.2.3 欏哄簭鎬э紙Order錛?br />
2.2.4 Happens-Before
2.3 java.lang.Thread
2.3.1 鐘舵侊紙State錛?br />
2.3.2 鍚姩-Thread.start鏂規硶
2.3.3 寮冪敤Thread.stop, Thread.suspend 鍜?Thread.resume鏂規硶
2.3.4 緇堟Thread.interrupt鍜孴hread.interrupted鏂規硶
2.3.5 Thread.join鏂規硶
2.3.6 Object.wait/notify鏂規硶
2.3.7 Thread.wait鏂規硶
3. Java騫跺彂妗嗘灦
3.1J.U.C妗嗘灦
3.1.1 鍚屾
3.1.1.1 鏍稿績-AbstractQueuedSynchronizer
3.1.1.2 閲嶈繘鍏ラ攣-ReentrantLock
3.1.1.3 閲嶈繘鍏ヨ鍐欓攣-ReentrantReadWriteLock
3.1.1.4 鏉′歡鍙橀噺-Condition
3.1.1.5 鏂伴氱煡/淇″彿鏈哄埗-LockSupport
3.1.2 闄愬埗
3.1.2.1 CountDownLatch
3.1.2.2 CyclicBarrier
3.1.2.3 淇″彿鐏紙Semaphore錛?br />
3.1.3 鍘熷瓙鎿嶄綔
3.1.3.1 Atomic*綾?br />
3.1.3.2 鎿嶄綔瀹炵幇-sun.misc.Unsafe
3.1.4 綰跨▼瀹夊叏闆嗗悎
3.1.4.1 CopyOnWriteArrayList鍜孋opyOnWriteArraySet
3.1.4.2 ConcurrentSkipListMap鍜孋oncurrentSkipListSet
3.1.4.3 ConcurrentHashMap
3.1.4.4 ArrayBlockingQueue
3.1.4.5 LinkedBlockingQueue鍜孉rrayBlockingDueue
3.1.4.5 PriorityBlockingQueue
3.1.5 綰跨▼姹?br />
3.1.5.1 Executor
3.1.5.2 ThreadPoolExecutor
3.1.5.3 Callable鍜孎uture
3.1.5.4 ScheduledExecutorService
3.1.5.5 Executors
4. JVM騫跺彂瀹炵幇 **
4.1 綰跨▼錛圱hread錛夊疄鐜?br />
4.2 鐩戣鍣紙Monitor錛夊疄鐜?br />
4.3 鍙鎬у疄鐜?br />
4.4 鍘熷瓙鎬у疄鐜?br />
4.5 欏哄簭鎬у疄鐜?br />
4.6 鍏朵粬
璇存槑錛?/strong>
1. 鍦ㄦ爣棰樺悗闈㈠甫鏈夌鍙?#8220;*”錛屼唬琛ㄨ繖涓唴瀹瑰彲鑳芥湁鐐逛簬鍋忕涓婚銆傚甫鏈?#8220;**”鐨勫唴瀹癸紝鍙兘姣旇緝闅句互鐞嗚В銆?/span>
2. 鐢變簬鐭ヨ瘑浣撶郴姣旇緝綣佹潅錛岀粍緇囪搗鏉ユ瘮杈冨闅撅紝鍥犳鐩綍緇撴瀯寰堟湁鍙兘涓嶆柇鍦版洿鏂般傝鏂囩珷鐨刄pdate閮ㄥ垎鎴栬呮爣棰樹篃浼氬悓姝ユ洿鏂般?/span>
3.涓鏃︾珷鑺傜殑鍐呭瀹岀粨錛岀洰褰曚細鍗蟲椂鏇存柊閾炬帴錛岃澶у鐣欐剰銆?/span>
4.浣滆呰兘鍔涘拰瀛﹁瘑鏈夐檺錛屽鏋滆鑰呰繕鏈夋洿鍔犳劅鍏磋叮鐨勮棰橈紝鎴栬呬換浣曢敊璇佹剰瑙佸拰寤鴻錛屼笉濡ㄧ洿鎺ョ暀璦鎴栬呭彂閭歡鏉ヨ璁恒傚鏋滆兘澶熷悎钁楃殑璇濓紝閭f槸鏇村姞瀹岀編浜嗐?/span>
5.鏂囩珷杞澆鍓嶏紝璇瘋仈緋繪枃绔犵殑浣滆呫?/span>
璋㈣阿
錛孍OF錛?/p>