欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入理解Java虛擬機 JVM高級特性與最佳實踐(周志明)pdf高清掃描版

  • 書籍大?。?span>41MB
  • 書籍語言:簡體中文
  • 書籍類型:國產軟件
  • 書籍授權:免費軟件
  • 書籍類別:java電子書
  • 應用平臺:PDF
  • 更新時間:2012-11-22
  • 購買鏈接:
  • 網(wǎng)友評分:
360通過 騰訊通過 金山通過

情介紹

作為一位Java程序員,你是否也曾經(jīng)想深入理解Java虛擬機,但是卻被它的復雜和深奧拒之門外?沒關系,本書極盡化繁為簡之妙,能帶領你在輕松中領略Java虛擬機的奧秘。本書是近年來國內出版的唯一一本與Java虛擬機相關的專著,也是唯一一本同時從核心理論和實際運用這兩個角度去探討Java虛擬機的著作,不僅理論分析得透徹,而且書中包含的典型案例和最佳實踐也極具現(xiàn)實指導意義。

作者簡介:

  周志明,資深Java技術專家,對JavaEE企業(yè)級應用開發(fā)、OSGi、Java虛擬機和工作流等都有深入的研究,并在大量的實踐中積累了豐富的經(jīng)驗。尤其精通Java虛擬機,撰寫了大量與JVM相關的經(jīng)典文章,被各大技術社區(qū)爭相轉載,是ITeye等技術社區(qū)公認的Java虛擬機方面的領袖人物之一。現(xiàn)任遠光軟件股份有限公司平臺開發(fā)部經(jīng)理兼平臺架構師,先后參加與過國家電網(wǎng)、南方電網(wǎng)等多個國家級大型ERP項目的平臺架構工作,對軟件系統(tǒng)架構也有深刻的認識和體會。

大家要是認為書好,還是去書店買一本吧。好書一定要買一本,放在床頭,睡覺前翻一翻。

編輯推薦:

  圍繞內存管理、執(zhí)行子系統(tǒng)、編程編譯與優(yōu)化、高效并發(fā)等核心內容對JVM進行全面而深入的分析,深刻揭示JVM的工作原理。
注重實現(xiàn),以解決實踐中的疑難問題為首要目的,包含大量經(jīng)典案例和最佳實踐。

媒體評論:

Java 程序是如何運行的?Java虛擬機在其中扮演了怎樣的角色?如何讓Java程序具有更高的并發(fā)性?許多Java程序員都會諸如此類的疑問。無奈,國內在很長一段時間里都沒有一本從實際應用的角度講解Java虛擬機的著作,本書的出版可謂填補了這個空白。它從Java程序員的角度出發(fā),系統(tǒng)地將Java程序運行過程中涉及的各種知識整合到了一起,并配以日常工作中可能會碰到的疑難案例,引領讀者輕松踏上探索Java虛擬機的旅途,是廣大對Java虛擬機感興趣的讀者的福音!

——莫樞(RednaxelaFX) 虛擬機和編程語言愛好者

在武俠的世界里,無論是至剛至強的《易筋經(jīng)》,還是陰柔無比的《葵花寶典》,都離不開內功修煉。沒有了內功心法,這些武術只是花拳繡腿的拙劣表演而已。軟件業(yè)是武林江湖的一個翻版,也有著大量的模式、套路、規(guī)范等外功,但“外功修行,內功修神”,要想成為“掃地僧”一樣的絕世高人,此書是必備的。

——秦小波 資深Java技術專家/著有暢銷書《設計模式之禪》

對Java程序員來說,Java虛擬機可以說是既熟悉又神秘,很少Java程序員能夠抑制自己探究它的沖動??上?,分析JVM實現(xiàn)原理的書籍(特別是國內作者出版的)是少之又少。本書的出版可謂Java程序員的福音,作者將自己多年來在Java虛擬機領域的實踐經(jīng)驗和研究心得呈現(xiàn)在了這本書中,不僅系統(tǒng)地講解了Java虛擬機工作機制和底層原理,而且更難能可貴的是與實踐很好地結合了起來,具有非常強的實踐指導意義,強烈推薦!

——計文柯 資深Java技術專家/著有暢銷書《Spring技術內幕:深入解析Spring架構設計與實現(xiàn)原理》

序:

Java是目前用戶最多、使用范圍最廣的軟件開發(fā)技術,Java的技術體系主要由支撐Java程序運行的虛擬機、為各開發(fā)領域提供接口支持的Java API、Java編程語言及許許多多的第三方Java框架(如Spring和Struts等)構成。在國內,有關Java API、Java語言及第三方框架的技術資料和書籍非常豐富,相比之下,有關Java虛擬機的資料卻顯得異常貧乏。
這種狀況很大程度上是由Java開發(fā)技術本身的一個重要優(yōu)點導致的:在虛擬機層面隱藏了底層技術的復雜性以及機器與操作系統(tǒng)的差異性。運行程序的物理機器情況千差萬別,而Java虛擬機則在千差萬別的物理機上面建立了統(tǒng)一的運行平臺,實現(xiàn)了在任意一臺虛擬機上編譯的程序都能在任何一臺虛擬機上正常運行。這一極大的優(yōu)勢使得Java應用的開發(fā)比傳統(tǒng)C/C++應用的開發(fā)更高效和快捷,程序員可以把主要精力集中在具體業(yè)務邏輯上,而不是物理硬件的兼容性上。一般情況下,一個程序員只要了解了必要的Java API、Java語法并學習適當?shù)牡谌介_發(fā)框架,就已經(jīng)基本能滿足日常開發(fā)的需要了,虛擬機會在用戶不知不覺中完成對硬件平臺的兼容以及對內存等資源的管理工作。因此,了解虛擬機的運作并不是一般開發(fā)人員必須掌握的知識。
然而,凡事都具備兩面性。隨著Java技術的不斷發(fā)展,它被應用于越來越多的領域之中。其中一些領域,如電力、金融、通信等,對程序的性能、穩(wěn)定性和可擴展性方面都有極高的要求。一個程序很可能在10個人同時使用時完全正常,但是在10000個人同時使用時就會變慢、死鎖甚至崩潰。毫無疑問,要滿足10000個人同時使用需要更高性能的物理硬件,但是在絕大多數(shù)情況下,提升硬件效能無法等比例地提升程序的性能和并發(fā)能力,有時甚至可能對程序的性能沒有任何改善作用。這里面有Java虛擬機的原因:為了達到為所有硬件提供一致的虛擬平臺的目的,犧牲了一些硬件相關的性能特性。更重要的是人為原因:開發(fā)人員如果不了解虛擬機的一些技術特性的運行原理,就無法寫出最適合虛擬機運行和可自優(yōu)化的代碼。


目錄:

前言
致謝
第一部分 走近Java
第1章 走近Java
1.1 概述
1.2 Java技術體系
1.3 Java發(fā)展史
1.4 展望Java技術的未來
1.4.1 模塊化
1.4.2 混合語言
1.4.3 多核并行
1.4.4 進一步豐富語法
1.4.5 64位虛擬機
1.5 實戰(zhàn):自己編譯JDK
1.5.1 獲取JDK源碼
1.5.2 系統(tǒng)需求
1.5.3 構建編譯環(huán)境
1.5.4 準備依賴項
1.5.5 進行編譯
1.6 本章小結
第二部分 自動內存管理機制
第2章 Java內存區(qū)域與內存溢出異常
2.1 概述
2.2 運行時數(shù)據(jù)區(qū)域
2.2.1 程序計數(shù)器
2.2.2 Java虛擬機棧
2.2.3 本地方法棧
2.2.4 Java堆
2.2.5 方法區(qū)
2.2.6 運行時常量池
2.2.7 直接內存
2.3 對象訪問
2.4 實戰(zhàn):OutOfMemoryError異常
2.4.1 Java堆溢出
2.4.2 虛擬機棧和本地方法棧溢出
2.4.3 運行時常量池溢出
2.4.4 方法區(qū)溢出
2.4.5 本機直接內存溢出
2.5 本章小結
第3章 垃圾收集器與內存分配策略
3.1 概述
3.2 對象已死?
3.2.1 引用計數(shù)算法
3.2.2 根搜索算法
3.2.3 再談引用
3.2.4 生存還是死亡?
3.2.5 回收方法區(qū)
3.3 垃圾收集算法
3.3.1 標記 -清除算法
3.3.2 復制算法
3.3.3 標記-整理算法
3.3.4 分代收集算法
3.4 垃圾收集器
3.4.1 Serial收集器
3.4.2 ParNew收集器
3.4.3 Parallel Scavenge收集器
3.4.4 Serial Old收集器
3.4.5 Parallel Old收集器
3.4.6 CMS收集器
3.4.7 G1收集器
3.4.8 垃圾收集器參數(shù)總結
3.5 內存分配與回收策略
3.5.1 對象優(yōu)先在Eden分配
3.5.2 大對象直接進入老年代
3.5.3 長期存活的對象將進入老年代
3.5.4 動態(tài)對象年齡判定
3.5.5 空間分配擔保
3.6 本章小結
第4章 虛擬機性能監(jiān)控與故障處理工具
4.1 概述
4.2 JDK的命令行工具
4.2.1 jps:虛擬機進程狀況工具
4.2.2 jstat:虛擬機統(tǒng)計信息監(jiān)視工具
4.2.3 jinfo:Java配置信息工具
4.2.4 jmap:Java內存映像工具
4.2.5 jhat:虛擬機堆轉儲快照分析工具
4.2.6 jstack:Java堆棧跟蹤工具
4.3 JDK的可視化工具
4.3.1 JConsole:Java監(jiān)視與管理控制臺
4.3.2 VisualVM:多合一故障處理工具
4.4 本章小結
第5章 調優(yōu)案例分析與實戰(zhàn)
5.1 概述
5.2 案例分析
5.2.1 高性能硬件上的程序部署策略
5.2.2 集群間同步導致的內存溢出
5.2.3 堆外內存導致的溢出錯誤
5.2.4 外部命令導致系統(tǒng)緩慢
5.2.5 服務器JVM進程崩潰
5.3 實戰(zhàn):Eclipse運行速度調優(yōu)
5.3.1 調優(yōu)前的程序運行狀態(tài)
5.3.2 升級JDK 1.6的性能變化及兼容問題
5.3.3 編譯時間和類加載時間的優(yōu)化
5.3.4 調整內存設置控制垃圾收集頻率
5.3.5 選擇收集器降低延遲
5.4 本章小結
第三部分 虛擬機執(zhí)行子系統(tǒng)
第6章 類文件結構
6.1 概述
6.2 無關性的基石
6.3 Class類文件的結構
6.3.1 魔數(shù)與Class文件的版本
6.3.2 常量池
6.3.3 訪問標志
6.3.4 類索引、父類索引與接口索引集合
6.3.5 字段表集合
6.3.6 方法表集合
6.3.7 屬性表集合
6.4 Class文件結構的發(fā)展
6.5 本章小結
第7章 虛擬機類加載機制
7.1 概述
7.2 類加載的時機
7.3 類加載的過程
7.3.1 加載
7.3.2 驗證
7.3.3 準備
7.3.4 解析
7.3.5 初始化
7.4 類加載器
7.4.1 類與類加載器
7.4.2 雙親委派模型
7.4.3 破壞雙親委派模型
7.5 本章小結
第8章 虛擬機字節(jié)碼執(zhí)行引擎
8.1 概述
8.2 運行時棧幀結構
8.2.1 局部變量表
8.2.2 操作數(shù)棧
8.2.3 動態(tài)連接
8.2.4 方法返回地址
8.2.5 附加信息
8.3 方法調用
8.3.1 解析
8.3.2 分派
8.4 基于棧的字節(jié)碼解釋執(zhí)行引擎
8.4.1 解釋執(zhí)行
8.4.2 基于棧的指令集與基于寄存器的指令集
8.4.3 基于棧的解釋器執(zhí)行過程
8.5 本章小結
第9章 類加載及執(zhí)行子系統(tǒng)的案例與實戰(zhàn)
9.1 概述
9.2 案例分析
9.2.1 Tomcat:正統(tǒng)的類加載器架構
9.2.2 OSGi:靈活的類加載器架構
9.2.3 字節(jié)碼生成技術與動態(tài)代理的實現(xiàn)
9.2.4 Retrotranslator:跨越JDK版本
9.3 實戰(zhàn):自己動手實現(xiàn)遠程執(zhí)行功能
9.3.1 目標
9.3.2 思路
9.3.3 實現(xiàn)
9.3.4 驗證
9.4 本章小結
第四部分 程序編譯與代碼優(yōu)化
第10章 早期(編譯期)優(yōu)化
10.1 概述
10.2 Javac編譯器
10.2.1 Javac的源碼與調試
10.2.2 解析與填充符號表
10.2.3 注解處理器
10.2.4 語義分析與字節(jié)碼生成
10.3 Java語法糖的味道
10.3.1 泛型與類型擦除
10.3.2 自動裝箱、拆箱與遍歷循環(huán)
10.3.3 條件編譯
10.4 實戰(zhàn):插入式注解處理器
10.4.1 實戰(zhàn)目標
10.4.2 代碼實現(xiàn)
10.4.3 運行與測試
10.4.4 其他應用案例
10.5 本章小結
第11章 晚期(運行期)優(yōu)化
11.1 概述
11.2 HotSpot虛擬機內的即時編譯器
11.2.1 解釋器與編譯器
11.2.2 編譯對象與觸發(fā)條件
11.2.3 編譯過程
11.2.4 查看與分析即時編譯結果
11.3 編譯優(yōu)化技術
11.3.1 優(yōu)化技術概覽
11.3.2 公共子表達式消除
11.3.3 數(shù)組邊界檢查消除
11.3.4 方法內聯(lián)
11.3.5 逃逸分析
11.4 Java與C/C++的編譯器對比
11.5 本章小結
第五部分 高效并發(fā)
第12章 Java內存模型與線程
12.1 概述
12.2 硬件的效率與一致性
12.3 Java內存模型
12.3.1 主內存與工作內存
12.3.2 內存間交互操作
12.3.3 對于volatile型變量的特殊規(guī)則
12.3.4 對于long和double型變量的特殊規(guī)則
12.3.5 原子性、可見性與有序性
12.3.6 先行發(fā)生原則
12.4 Java與線程
12.4.1 線程的實現(xiàn)
12.4.2 Java線程調度
12.4.3 狀態(tài)轉換
12.5 本章小結
第13章 線程安全與鎖優(yōu)化
13.1 概述
13.2 線程安全
13.2.1 Java語言中的線程安全
13.2.2 線程安全的實現(xiàn)方法
13.3 鎖優(yōu)化
13.3.1 自旋鎖與自適應自旋
13.3.2 鎖消除
13.3.3 鎖粗化
13.3.4 輕量級鎖
13.3.5 偏向鎖
13.4 本章小結
附錄A Java虛擬機家族
附錄B 虛擬機字節(jié)碼指令表
附錄C HotSpot虛擬機主要參數(shù)表
附錄D 對象查詢語言(OQL)簡介
附錄E JDK歷史版本軌跡
 

載地址

下載錯誤?【投訴報錯】

深入理解Java虛擬機 JVM高級特性與最佳實踐(周志明)pdf高清掃描版

      氣書籍

      載聲明

      ☉ 解壓密碼:www.dbjr.com.cn 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
      ☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
      ☉ 如果這個軟件總是不能下載的請在評論中留言,我們會盡快修復,謝謝!
      ☉ 下載本站資源,如果服務器暫不能下載請過一段時間重試!或者多試試幾個下載地址
      ☉ 如果遇到什么問題,請評論留言,我們定會解決問題,謝謝大家支持!
      ☉ 本站提供的一些商業(yè)軟件是供學習研究之用,如用于商業(yè)用途,請購買正版。
      ☉ 本站提供的深入理解Java虛擬機 JVM高級特性與最佳實踐(周志明)pdf高清掃描版資源來源互聯(lián)網(wǎng),版權歸該下載資源的合法擁有者所有。