91精品国产综合久久四虎久久_国产成人午夜高潮毛片_99er视频精品免费观看_2020亚洲熟女在线观看_日本女优人体写真_国内黄色毛片_年轻的老师中文版在线_丰满女邻居做爰_久久久久久精品成人免费图片

 
Java性能優(yōu)化實(shí)踐:JVM調(diào)優(yōu)策略、工具與技巧
Java性能優(yōu)化實(shí)踐:JVM調(diào)優(yōu)策略、工具與技巧
Benjamin J. Evans, James Gough, Chris Newland
曾波 譯
出版時(shí)間:2020年11月
頁數(shù):318
“ 在過去的20多年里,我花了很多時(shí)間來理解JVM的內(nèi)部細(xì)節(jié),在本書中也學(xué)到了不少知。本書文筆流暢,易于閱讀,包含了大量對(duì)新手程序員和專家都有幫助的信息。不管你是在運(yùn)行包含200個(gè)核心的專用大型機(jī)器,還是運(yùn)行資源受限的Linux容器,本書都可以幫你挖掘出Java應(yīng)用程序的巨大性能?!?br /> ——Christine H. Flood
紅帽公司
在當(dāng)前的互聯(lián)網(wǎng)開發(fā)模式下,系統(tǒng)訪問量日增、代碼臃腫,各種性能問題紛涌而至。性能優(yōu)化作為一個(gè)常談常新的話題,受到越來越多開發(fā)者的關(guān)注。而Java是一門使用廣泛的語言,社區(qū)生態(tài)中積攢了大量寶貴的性能優(yōu)化經(jīng)驗(yàn)。
作為一本性能調(diào)優(yōu)方面的實(shí)用指南,本書從實(shí)驗(yàn)科學(xué)的角度將JVM調(diào)優(yōu)的技術(shù)原理與方法論相結(jié)合,并在此基礎(chǔ)上提供了可選擇的工具。通過對(duì)各方面的深入研究,本書能讓使用復(fù)雜技術(shù)棧的中高級(jí)Java技術(shù)專家以量化和可驗(yàn)證的方法優(yōu)化Java應(yīng)用程序性能。
● 了解Java的原則和技術(shù)如何充分利用現(xiàn)代硬件和操作系統(tǒng)
● 探究一些性能測(cè)試以及困擾團(tuán)隊(duì)的常見反模式
● 理解測(cè)量Java性能數(shù)據(jù)的陷阱以及微基準(zhǔn)測(cè)試的缺點(diǎn)
● 深入研究JVM垃圾收集日志、監(jiān)控、調(diào)優(yōu)和工具
● 探究JIT編譯和Java語言性能技術(shù)
● 學(xué)習(xí)Java集合類API與性能有關(guān)的方面,從整體上理解Java并發(fā)
  1. 中文版推薦序一
  2. 中文版推薦序二 
  3. 序 
  4. 前言 
  5. 第1章 明確優(yōu)化與性能
  6. 1.1 關(guān)于Java性能的誤解 
  7. 1.2 Java性能概覽 
  8. 1.3 作為實(shí)驗(yàn)科學(xué)的性能 
  9. 1.4 性能分類方法 
  10. 1.4.1 吞吐量 
  11. 1.4.2 延遲 
  12. 1.4.3 容量 
  13. 1.4.4 利用率 
  14. 1.4.5 效率 
  15. 1.4.6 可擴(kuò)展性 
  16. 1.4.7 降級(jí)
  17. 1.4.8 各種性能觀測(cè)之間的關(guān)聯(lián)
  18. 1.5 閱讀性能圖 
  19. 1.6 小結(jié) 
  20. 第2章 JVM概覽 
  21. 2.1 解釋和類加載 
  22. 2.2 執(zhí)行字節(jié)碼 
  23. 2.3 HotSpot簡(jiǎn)介 
  24. 2.4 JVM內(nèi)存管理 
  25. 2.5 線程和Java內(nèi)存模型 
  26. 2.6 認(rèn)識(shí)不同的JVM 
  27. 2.7 JVM的監(jiān)控和工具 
  28. 2.8 小結(jié) 
  29. 第3章 硬件與操作系統(tǒng)
  30. 3.1 現(xiàn)代硬件簡(jiǎn)介 
  31. 3.2 內(nèi)存 
  32. 3.3 現(xiàn)代處理器特性 
  33. 3.3.1 翻譯后備緩沖器 
  34. 3.3.2 分支預(yù)測(cè)和推測(cè)執(zhí)行 
  35. 3.3.3 硬件存儲(chǔ)器模型
  36. 3.4 操作系統(tǒng) 
  37. 3.4.1 調(diào)度器 
  38. 3.4.2 時(shí)間問題 
  39. 3.4.3 上下文切換 
  40. 3.5 一個(gè)簡(jiǎn)單的系統(tǒng)模型 
  41. 3.6 基本探測(cè)策略 
  42. 3.6.1 利用CPU 
  43. 3.6.2 垃圾收集 
  44. 3.6.3 I/O 
  45. 3.6.4 機(jī)械共鳴 
  46. 3.7 虛擬化 
  47. 3.8 JVM和操作系統(tǒng) 
  48. 3.9 小結(jié) 
  49. 第4章 性能測(cè)試模式與反模式 
  50. 4.1 性能測(cè)試的類型 
  51. 4.1.1 延遲測(cè)試 
  52. 4.1.2 吞吐量測(cè)試 
  53. 4.1.3 負(fù)載測(cè)試 
  54. 4.1.4 壓力測(cè)試 
  55. 4.1.5 耐久性測(cè)試
  56. 4.1.6 容量規(guī)劃測(cè)試 
  57. 4.1.7 退化測(cè)試 
  58. 4.2 最佳實(shí)踐入門
  59. 4.2.1 自上而下的性能測(cè)試 
  60. 4.2.2 創(chuàng)建一個(gè)測(cè)試環(huán)境 
  61. 4.2.3 確定性能要求 
  62. 4.2.4 Java特有的問題
  63. 4.2.5 將性能測(cè)試當(dāng)作軟件開發(fā)生命周期的一部分 
  64. 4.3 性能反模式 
  65. 4.3.1 厭倦 
  66. 4.3.2 填充簡(jiǎn)歷 
  67. 4.3.3 同儕壓力 
  68. 4.3.4 缺乏理解 
  69. 4.3.5 被錯(cuò)誤理解的問題/不存在的問題 
  70. 4.4 性能反模式目錄 
  71. 4.4.1 被熱門技術(shù)分心 
  72. 4.4.2 被簡(jiǎn)單分心 
  73. 4.4.3 性能調(diào)優(yōu)天才 
  74. 4.4.4 按照坊間傳說調(diào)優(yōu) 
  75. 4.4.5 把責(zé)任歸咎給驢 
  76. 4.4.6 忽略大局 
  77. 4.4.7 用戶驗(yàn)收測(cè)試環(huán)境就是我的計(jì)算機(jī) 
  78. 4.4.8 類似生產(chǎn)環(huán)境的數(shù)據(jù)很難表示 
  79. 4.5 認(rèn)知偏差與性能測(cè)試 
  80. 4.5.1 還原論思維 
  81. 4.5.2 確認(rèn)偏差 
  82. 4.5.3 戰(zhàn)爭(zhēng)的迷霧(行動(dòng)偏差) 
  83. 4.5.4 風(fēng)險(xiǎn)偏差 
  84. 4.5.5 埃爾斯伯格悖論 
  85. 4.6 小結(jié) 
  86. 第5章 微基準(zhǔn)測(cè)試與統(tǒng)計(jì) 
  87. 5.1 Java性能測(cè)量
  88. 5.2 JMH 
  89. 5.2.1 不是萬不得已,不要做微基準(zhǔn)測(cè)試(一個(gè)真實(shí)的故事) 
  90. 5.2.2 關(guān)于何時(shí)使用微基準(zhǔn)測(cè)試的啟發(fā) 
  91. 5.2.3 JMH框架 
  92. 5.2.4 執(zhí)行基準(zhǔn)測(cè)試 
  93. 5.3 JVM性能統(tǒng)計(jì) 
  94. 5.3.1 誤差類型 
  95. 5.3.2 非正態(tài)統(tǒng)計(jì) 
  96. 5.4 統(tǒng)計(jì)的解釋 
  97. 5.5 小結(jié) 
  98. 第6章 理解垃圾收集 
  99. 6.1 標(biāo)記和清除 
  100. 6.2 HotSpot運(yùn)行時(shí) 
  101. 6.2.1 對(duì)象的運(yùn)行時(shí)表示 
  102. 6.2.2 GC根和Arena 
  103. 6.3 分配與生命周期 
  104. 6.4 HotSpot中的垃圾收集 
  105. 6.4.1 線程本地分配 
  106. 6.4.2 半空間收集 
  107. 6.5 并行收集器 
  108. 6.5.1 新生代并行收集 
  109. 6.5.2 老年代并行收集 
  110. 6.5.3 并行收集器的局限性 
  111. 6.6 分配的作用 
  112. 6.7 小結(jié) 
  113. 第7章 垃圾收集高級(jí)話題 
  114. 7.1 權(quán)衡與可插拔的收集器 
  115. 7.2 并發(fā)垃圾收集理論 
  116. 7.2.1 JVM安全點(diǎn) 
  117. 7.2.2 三色標(biāo)記 
  118. 7.3 CMS 
  119. 7.3.1 CMS是如何工作的 
  120. 7.3.2 用于CMS的基本JVM標(biāo)志 
  121. 7.4 G1 
  122. 7.4.1 G1堆布局和區(qū)域 
  123. 7.4.2 G1算法設(shè)計(jì) 
  124. 7.4.3 G1的各階段 
  125. 7.4.4 用于G1的基本JVM標(biāo)志 
  126. 7.5 Shenandoah 
  127. 7.5.1 并發(fā)壓縮 
  128. 7.5.2 獲取Shenandoah 
  129. 7.6 C4(Azul Zing) 
  130. 7.7 IBM J9中的均衡收集器 
  131. 7.7.1 J9對(duì)象頭 
  132. 7.7.2 Balanced收集器的大數(shù)組 
  133. 7.7.3 NUMA和Balanced收集器 
  134. 7.8 遺留的HotSpot收集器 
  135. 7.8.1 Serial和SerialOld 
  136. 7.8.2 增量式CMS 
  137. 7.8.3 已被廢棄和刪除的垃圾收集組合 
  138. 7.8.4 Epsilon 
  139. 7.9 小結(jié) 
  140. 第8章 垃圾收集日志、監(jiān)控、調(diào)優(yōu)及工具 
  141. 8.1 認(rèn)識(shí)垃圾收集日志 
  142. 8.1.1 開啟垃圾收集日志記錄 
  143. 8.1.2 垃圾收集日志與JMX的對(duì)比 
  144. 8.1.3 JMX的缺點(diǎn) 
  145. 8.1.4 垃圾收集日志數(shù)據(jù)帶來的好處 
  146. 8.2 日志解析工具 
  147. 8.2.1 Censum 
  148. 8.2.2 GCViewer 
  149. 8.2.3 對(duì)于同一數(shù)據(jù)的不同可視化效果 
  150. 8.3 基本垃圾收集調(diào)優(yōu) 
  151. 8.3.1 理解分配行為 
  152. 8.3.2 理解暫停時(shí)間 
  153. 8.3.3 收集器線程和GC根 
  154. 8.4 調(diào)優(yōu)Parallel GC 
  155. 8.5 調(diào)優(yōu)CMS 
  156. 8.6 調(diào)優(yōu)G1 
  157. 8.7 jHiccup 
  158. 8.8 小結(jié) 
  159. 第9章 JVM上的代碼執(zhí)行 
  160. 9.1 字節(jié)碼解釋概覽 
  161. 9.1.1 JVM字節(jié)碼 
  162. 9.1.2 簡(jiǎn)單解釋器 
  163. 9.1.3 HotSpot特定細(xì)節(jié) 
  164. 9.2 AOT編譯和JIT編譯 
  165. 9.2.1 AOT編譯 
  166. 9.2.2 JIT編譯 
  167. 9.2.3 比較AOT和JIT 
  168. 9.3 HotSpot JIT基礎(chǔ) 
  169. 9.3.1 Klass字、虛函數(shù)表和指針變換 
  170. 9.3.2 JIT編譯日志 
  171. 9.3.3 HotSpot中的編譯器 
  172. 9.3.4 HotSpot中的分層編譯 
  173. 9.4 代碼緩存 
  174. 9.5 簡(jiǎn)單JIT調(diào)優(yōu) 
  175. 9.6 小結(jié) 
  176. 第10章 理解即時(shí)編譯 
  177. 10.1 認(rèn)識(shí)JITWatch 
  178. 10.1.1 基本的JITWatch視圖 
  179. 10.1.2 調(diào)試JVM和hsdi 
  180. 10.2 介紹JIT編譯 
  181. 10.3 內(nèi)聯(lián) 
  182. 10.3.1 內(nèi)聯(lián)的限制 
  183. 10.3.2 調(diào)優(yōu)內(nèi)聯(lián)子系統(tǒng) 
  184. 10.4 循環(huán)展開 
  185. 10.5 逃逸分析 
  186. 10.5.1 消除堆分配 
  187. 10.5.2 鎖與逃逸分析 
  188. 10.5.3 逃逸分析的限制 
  189. 10.6 單態(tài)分派 
  190. 10.7 內(nèi)部函數(shù) 
  191. 10.8 棧上替換 
  192. 10.9 再談安全點(diǎn) 
  193. 10.10 核心庫方法 
  194. 10.10.1 內(nèi)聯(lián)方法的大小上限 
  195. 10.10.2 編譯方法的大小上限 
  196. 10.11 小結(jié) 
  197. 第11章 Java語言性能技術(shù) 
  198. 11.1 優(yōu)化集合 
  199. 11.2 針對(duì)列表的優(yōu)化考慮 
  200. 11.2.1 ArrayList 
  201. 11.2.2 LinkedList 
  202. 11.2.3 ArrayList與LinkedList的對(duì)比 
  203. 11.3 針對(duì)映射的優(yōu)化考慮 
  204. 11.3.1 HashMap 
  205. 11.3.2 TreeMap 
  206. 11.3.3 缺少M(fèi)ultiMap 
  207. 11.4 針對(duì)集的優(yōu)化考慮 
  208. 11.5 領(lǐng)域?qū)ο蟆?
  209. 11.6 避免終結(jié)化 
  210. 11.6.1 血淚史:忘記清理 
  211. 11.6.2 為什么不使用終結(jié)化來解決這個(gè)問題 
  212. 11.6.3 try-with-resources 
  213. 11.7 方法句柄 
  214. 11.8 小結(jié) 
  215. 第12章 并發(fā)性能技術(shù) 
  216. 12.1 并行介紹 
  217. 12.2 理解JMM 
  218. 12.3 構(gòu)建并發(fā)庫 
  219. 12.3.1 Unsafe 
  220. 12.3.2 原子與CAS
  221. 12.3.3 鎖和自旋鎖 
  222. 12.4 并發(fā)庫總結(jié) 
  223. 12.4.1 java.util.concurrent中的Lock 
  224. 12.4.2 讀/寫鎖 
  225. 12.4.3 信號(hào)量 
  226. 12.4.4 并發(fā)集合 
  227. 12.4.5 鎖存器和屏障 
  228. 12.5 執(zhí)行器和任務(wù)抽象 
  229. 12.5.1 認(rèn)識(shí)異步執(zhí)行 
  230. 12.5.2 選擇一個(gè)ExecutorService 
  231. 12.5.3 Fork/Join 
  232. 12.6 現(xiàn)代Java并發(fā) 
  233. 12.6.1 流和并行流 
  234. 12.6.2 無鎖技術(shù) 
  235. 12.6.3 基于Actor的技術(shù) 
  236. 12.7 小結(jié) 
  237. 第13章 剖析 
  238. 13.1 認(rèn)識(shí)剖析 
  239. 13.2 采樣與安全點(diǎn)偏差 
  240. 13.3 面向開發(fā)人員的執(zhí)行剖析工具 
  241. 13.3.1 VisualVM剖析器 
  242. 13.3.2 JProfiler 
  243. 13.3.3 YourKit 
  244. 13.3.4 Java Flight Recorder和Java Mission Control 
  245. 13.3.5 運(yùn)維工具 
  246. 13.4 現(xiàn)代剖析器 
  247. 13.5 分配剖析器 
  248. 13.6 堆轉(zhuǎn)儲(chǔ)分析 
  249. 13.7 小結(jié) 
  250. 第14章 高性能日志和消息系統(tǒng) 
  251. 14.1 日志 
  252. 14.2 設(shè)計(jì)一個(gè)影.響較低的日志記錄器 
  253. 14.3 使用Real Logic庫實(shí)現(xiàn)低延遲 
  254. 14.3.1 Agrona 
  255. 14.3.2 Simple Binary Encoding 
  256. 14.3.3 Aeron 
  257. 14.3.4 Aeron的設(shè)計(jì) 
  258. 14.4 小結(jié) 
  259. 第15章 Java 9以及Java的未來方向 
  260. 15.1 Java 9中小的性能增強(qiáng) 
  261. 15.1.1 分段式代碼緩存 
  262. 15.1.2 緊湊的字符串 
  263. 15.1.3 新的字符串連接 
  264. 15.1.4 C2編譯器的改進(jìn) 
  265. 15.1.5 新版G1收集器 
  266. 15.2 Java 10和未來版本 
  267. 15.2.1 新的發(fā)布流程 
  268. 15.2.2 Java 10 
  269. 15.3 Java 9及更高版本中的Unsafe 
  270. 15.4 Valhalla項(xiàng)目和值類型 
  271. 15.5 Graal和Truffle 
  272. 15.6 字節(jié)碼的未來方向 
  273. 15.7 并發(fā)的未來方向 
  274. 15.8 總結(jié) 
  275. 作者介紹 
  276. 封面介紹 
書名:Java性能優(yōu)化實(shí)踐:JVM調(diào)優(yōu)策略、工具與技巧
譯者:曾波 譯
國(guó)內(nèi)出版社:人民郵電出版社
出版時(shí)間:2020年11月
頁數(shù):318
書號(hào):978-7-115-55233-4
原版書書名:Optimizing Java
原版書出版商:O'Reilly Media
Benjamin J. Evans
 
Benjamin J. Evans是一位企業(yè)家、顧問,也是一位教育家。 他是jClarity的聯(lián)合創(chuàng)始人,jClarity是一家專注于軟件性能工具的初創(chuàng)公司。他著有多本書籍,包括Optimizing Java,還獲得過Java Champion和 JavaOne Rockstar獎(jiǎng),并且經(jīng)常發(fā)表性能、體系結(jié)構(gòu)和并發(fā)等主題的演講。

本杰明·J. 埃文斯(Benjamin J. Evans),初創(chuàng)公司jClarity聯(lián)合創(chuàng)始人和技術(shù)Fellow,獲得過Java Champion榮譽(yù)和JavaOne Rockstar獎(jiǎng),《Java程序員修煉之道》合著者。
 
 
James Gough
 
詹姆斯·高夫(James Gough),Java開發(fā)者和技術(shù)圖書作者,任職于摩根士丹利,專注構(gòu)建面向客戶的技術(shù)。
 
 
Chris Newland
 
克里斯·紐蘭(Chris Newland),JITWatch項(xiàng)目作者,Java Champion榮譽(yù)得主,ADVFN資深開發(fā)者和團(tuán)隊(duì)負(fù)責(zé)人,擅長(zhǎng)使用Java來處理實(shí)時(shí)的股市數(shù) 據(jù)。
 
 
購買選項(xiàng)
定價(jià):109.00元
書號(hào):978-7-115-55233-4
出版社:人民郵電出版社