[TOC] 一、頂部注釋分析 1.1 從注釋中得到的結(jié)論 Hash table and linked list implementation of the Set inter...
[TOC] 一、頂部注釋分析 1.1 數(shù)據(jù)結(jié)構(gòu) 1.2 從注釋中得到的結(jié)論 LinkedHashMap 是 Map 接口的哈希表和鏈表的實(shí)現(xiàn),具有可預(yù)知的迭代順序 Linke...
[TOC] 一、頂部注釋分析 1.1 數(shù)據(jù)結(jié)構(gòu) 1.1.1 JDK1.7實(shí)現(xiàn) 在 JDK1.7中,ConcurrentHashMap 通過(guò)“鎖分段”來(lái)實(shí)現(xiàn)線(xiàn)程安全 通過(guò)將哈希...
[TOC] 一、頂部注釋分析 1.1 首句定義 Doubly-linked list implementation of the List and Deque interfa...
[TOC] 13.2 線(xiàn)程安全 《Java Concurrency In Practice》對(duì) “線(xiàn)程安全” 有一個(gè)比較恰當(dāng)?shù)亩x:“當(dāng)多個(gè)線(xiàn)程訪(fǎng)問(wèn)一個(gè)對(duì)象時(shí),如果不用考慮這...
[TOC] 12.1 概述 在許多情況下,讓計(jì)算機(jī)同時(shí)去做幾件事情,不僅是因?yàn)橛?jì)算機(jī)的運(yùn)算能力強(qiáng)大了,還有一個(gè)很重要的原因是計(jì)算機(jī)的運(yùn)算速度與它的存儲(chǔ)和通信子系統(tǒng)速度的差距太...
[TOC] 11.1 概述 在部分的商用虛擬機(jī)(Sun HotSpot、IBM J9)中,Java 程序最初是通過(guò)解釋器(Interpreter)進(jìn)行解釋執(zhí)行的,當(dāng)虛擬機(jī)發(fā)現(xiàn)...
[TOC] 10.2 Javac 編譯器 10.2.1 編譯過(guò)程 從Sun Javac 的代碼來(lái)看,編譯過(guò)程大致可以分為3個(gè)過(guò)程,分別是:解析與填充符號(hào)表過(guò)程。插入式注解處理...
[TOC] 8.1 概述 執(zhí)行引擎是 Java 虛擬機(jī)最核心的組成部分之一。“虛擬機(jī)” 是一個(gè)相對(duì)于 “物理機(jī)” 的概念,這兩種機(jī)器都有代碼執(zhí)行能力,其區(qū)別是物理機(jī)的執(zhí)行引擎...
[TOC] 7.1 概述 類(lèi)加載機(jī)制:虛擬機(jī)把描述類(lèi)的數(shù)據(jù)從Class文件加載到內(nèi)存,并對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)、轉(zhuǎn)換解析和初始化,最終形成可以被虛擬機(jī)直接使用的 Java 類(lèi)型。 與...
[TOC] 6.2 無(wú)關(guān)性的基石 各種不同平臺(tái)的虛擬機(jī)與所有平臺(tái)都統(tǒng)一使用的程序存儲(chǔ)格式——字節(jié)碼(ByteCode)是構(gòu)成平臺(tái)無(wú)關(guān)性的基石。 實(shí)現(xiàn)語(yǔ)言無(wú)關(guān)性的基礎(chǔ)仍然是虛擬...
[TOC] 3.1 概述 垃圾收集(Garbage Collection,GC)需要完成的3件事情:哪些內(nèi)存需要回收?什么時(shí)候回收?如何回收? 在 Java內(nèi)存運(yùn)行區(qū)域的各個(gè)...
[TOC] 2.2運(yùn)行時(shí)數(shù)據(jù)區(qū)域 2.2.1 程序計(jì)數(shù)器(各線(xiàn)程私有) 程序計(jì)數(shù)器(Program Counter Register)是一塊較小的內(nèi)存空間,它可以看作是當(dāng)前線(xiàn)...