[ 收藏 ] [ 繁体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  • 新类目

     管理
     投资理财
     经济
     社会科学
  • 實戰JAVA虛擬機:JVM故障診斷與性能優化(第2版) 葛一鳴 著 程序設
    該商品所屬分類:計算機/網絡 -> 計算機/網絡
    【市場價】
    673-976
    【優惠價】
    421-610
    【作者】 葛一鳴 
    【出版社】電子工業出版社 
    【ISBN】9787121367748
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    ISBN編號:9787121367748
    書名:實戰Java虛擬機———JVM故障診斷與性能優化 實戰Java虛擬機———JVM故障診斷與性能優化
    作者:葛一鳴

    代碼:89
    是否是套裝:否
    出版社名稱:電子工業出版社


        
        
    "

    實戰JAVA虛擬機:JVM故障診斷與性能優化(第2版)

    作  者: 葛一鳴 著
    size="731x8"
    定  價: 89
    size="731x8"
    出?版?社: 電子工業出版社
    size="731x8"
    出版日期: 2019年06月01日
    size="731x8"
    頁  數: 456
    size="731x8"
    裝  幀: 平裝
    size="731x8"
    ISBN: 9787121367748
    size="731x8"
    主編推薦

    "《實戰Java虛擬機———JVM故障診斷與性能優化(第2版)》的主要特點有: 結構清晰。采用從整體到局部的視角,每一章節對應單獨的知識點,力求展示虛擬機的全貌。 理論結合實戰。在每一個知識點後,都給出了演示示例供讀者參考,幫助讀者更好地消化 專注專業。對Java虛擬機的原理和實踐做了豐富介紹,力求從多角度更專業地對JVM進行探討。 通俗易懂。本書服務於廣大虛擬機初學者,簡單的白話文風格貫穿全書,使讀者少盲點、無盲點。 技術全面。縱橫Windows和Linux雙繫統下的性能診斷、涉及3......

    目錄
    目    錄 章  初探Java虛擬機 1 1.1 知根知底:追溯Java的發展歷程 2 1.1.1 那些依托Java虛擬機的語言大咖們 2 1.1.2 Java發展史上的裡程碑 2 1.2 跨平臺的真相:Java虛擬機做中介 4 1.2.1 理解Java虛擬機的原理 4 1.2.2 看清Java虛擬機的種類 5 1.3 一切看我的:Java語言規範 6 1.3.1 詞法的定義 6 1.3.2 語法的定義 7 1.3.3 數據類型的定義 8 1.3.4 Java語言規範總結 9 1.4 一切聽我的:Java虛擬機規範 9 1.5 數字編碼就是計算機世界的水和電 10 1.5.1 整數在Java虛擬機中的表示 10 1.5.2 浮點數在Java虛擬機中的表示 12 1.6 拋磚引玉:編譯和調試虛擬機 14 1.7 小結 18 第2章  認識Java虛擬機的基本結構 19 2.1 謀全局者纔能成大器:看穿Java虛擬機的架構 19 2.2 小參數能解決大問題:學會設置Java虛擬機的參數 21 2.3 對像去哪兒:辨清Java堆 22 2.4 函數如何調用:出入Java棧 24 2.4.1 局部變量表 26 2.4.2 操作數棧 31 2.4.3 幀數據區 31 2.4.4 棧上分配 32 2.5 類去哪兒了:識別方法區 34 2.6 小結 36 第3章  常用Java虛擬機參數 37 3.1 一切運行都有跡可循:掌握跟蹤調試參數 37 3.1.1 跟蹤垃圾回收―讀懂虛擬機日志 38 3.1.2 類加載/卸載的跟蹤 42 3.1.3 查看繫統參數 45 3.2 讓性能飛起來:學習堆的配置參數 45 3.2.1 優選堆和初始堆的設置 46 3.2.2 新生代的配置 49 3.2.3 堆溢出處理 53 3.3 別讓性能有缺口:了解非堆內存的參數配置 54 3.3.1 方法區配置 55 3.3.2 棧配置 55 3.3.3 直接內存配置 55 3.4 Client和Server二選一:虛擬機的工作模式 58 3.5 小結 59 第4章  垃圾回收的概念與算法 60 4.1 內存管理清潔工:認識垃圾回收 60 4.2 清潔工具大PK:討論常用的垃圾回收算法 61 4.2.1 引用計數法(Reference Counting) 62 4.2.2 標記清除法(Mark-Sweep) 63 4.2.3 復制算法(Copying) 64 4.2.4 標記壓縮法(Mark-Compact) 66 4.2.5 分代算法(Generational Collecting) 67 4.2.6 分區算法(Region) 68 4.3 誰纔是真正的垃圾:判斷可觸及性 69 4.3.1 對像的復活 69 4.3.2 引用和可觸及性的強度 71 4.3.3 軟引用―可被回收的引用 72 4.3.4 弱引用―發現即回收 76 4.3.5 虛引用―對像回收跟蹤 77 4.4 垃圾回收時的停頓現像:Stop-The-World案例實戰 79 4.5 小結 83 第5章  垃圾收集器和內存分配 84 5.1 一心一意一件事:串行回收器 85 5.1.1 新生代串行回收器 85 5.1.2 老年代串行回收器 86 5.2 人多力量大:並行回收器 86 5.2.1 新生代ParNew回收器 87 5.2.2 新生代ParallelGC回收器 88 5.2.3 老年代ParallelOldGC回收器 89 5.3 一心多用都不落下:CMS回收器(JDK 8及之前的版本) 90 5.3.1 CMS主要工作步驟 90 5.3.2 CMS主要的參數 91 5.3.3 CMS的日志分析 93 5.3.4 有關Class的回收 94 5.4 未來我做主:G1回收器(JDK 9及之後版本的默認回收器) 95 5.4.1 G1的內存劃分和主要收集過程 95 5.4.2 G1的新生代GC 96 5.4.3 G1的並發標記周期 97 5.4.4 混合回收 100 5.4.5 必要時的Full GC 102 5.4.6 G1的日志 102 5.4.7 G1相關的參數 106 5.5 回眸:有關對像內存分配和回收的一些細節問題 106 5.5.1 禁用System.gc() 107 5.5.2 System.gc()使用並發回收 107 5.5.3 並行GC前額外觸發的新生代GC 109 5.5.4 對像何時進入老年代 109 5.5.5 在TLAB上分配對像 117 5.5.6 finalize()函數對垃圾回收的影響 120 5.6 溫故又知新:常用的GC參數 125 5.7 動手纔是真英雄:垃圾回收器對Tomcat性能影響的實驗 127 5.7.1 配置實驗環境 127 5.7.2 配置性能測試工具JMeter 128 5.7.3 配置Web應用服務器Tomcat 131 5.7.4 實戰案例1―初試串行回收器 133 5.7.5 實戰案例2―擴大堆以提升繫統性能 133 5.7.6 實戰案例3―調整初始堆大小 134 5.7.7 實戰案例4―使用ParrellOldGC回收器 135 5.7.8 實戰案例5―使用較小堆提高GC壓力 135 5.7.9 實戰案例6―測試ParallelOldGC的表現 135 5.7.10 實戰案例7―測試ParNew回收器的表現 136 5.7.11 實戰案例8―測試JDK 1.8的表現 136 5.7.12 實戰案例9―使用高版本虛擬機提升性能 137 5.8 小結 137 第6章  性能監控工具 138 6.1 有我更高效:Linux下的性能監控工具 139 6.1.1 顯示繫統整體資源使用情況―top命令 139 6.1.2 監控內存和CPU―vmstat命令 140 6.1.3 監控I/O―iostat命令 142 6.1.4 多功能診斷器―pidstat工具 143 6.2 用我更高效:Windows下的性能監控工具 148 6.2.1 任務管理器 148 6.2.2 perfmon性能監控工具 150 6.2.3 Process Explorer進程管理工具 153 6.2.4 pslist命令―Windows下也有命令行工具 155 6.3 外科手術刀:JDK性能監控工具 157 6.3.1 查看Java進程―jps命令 158 6.3.2 查看虛擬機運行時信息―jstat命令 159 6.3.3 查看虛擬機參數―jinfo命令 162 6.3.4 導出堆到文件―jmap命令 163 6.3.5 JDK自帶的堆分析工具―jhat命令 165 6.3.6 查看線程堆棧―jstack命令 168 6.3.7 遠程主機信息收集―jstatd命令 171 6.3.8 多功能命令行―jcmd命令 173 6.3.9 性能統計工具―hprof 175 6.3.10 擴展jps命令 178 6.4 我是你的眼:圖形化虛擬機監控工具JConsole 178 6.4.1 JConsole連接Java程序 179 6.4.2 Java程序概況 180 6.4.3 內存監控 180 6.4.4 線程監控 181 6.4.5 類加載情況 183 6.4.6 虛擬機信息 183 6.5 一目了然:可視化性能監控工具Visual VM 184 6.5.1 Visual VM連接應用程序 185 6.5.2 監控應用程序概況 186 6.5.3 Thread Dump和分析 187 6.5.4 性能分析 188 6.5.5 內存快照分析 190 6.5.6 BTrace介紹 191 6.6 來自JRockit的禮物:虛擬機診斷工具Mission Control 199 6.6.1 MBean服務器 199 6.6.2 飛行記錄器(Flight Recorder) 201 6.7 小結 204 第7章  分析Java堆 205 7.1 對癥纔能下藥:找到內存溢出的原因 206 7.1.1 堆溢出 206 7.1.2 直接內存溢出 206 7.1.3 過多線程導致OOM 208 7.1.4 永久區溢出 210 7.1.5 GC效率低下引起的OOM 211 7.2 無處不在的字符串:String在虛擬機中的實現 211 7.2.1 String對像的特點 211 7.2.2 有關String的內存洩漏 213 7.2.3 有關String常量池的位置 216 7.3 虛擬機也有內窺鏡:使用MAT分析Java堆 218 7.3.1 初識MAT 218 7.3.2 淺堆和深堆 221 7.3.3 MAT堆分析案例解析 222 7.3.4 支配樹(Dominator Tree) 226 7.3.5 Tomcat堆溢出分析 227 7.4 篩選堆對像:MAT對OQL的支持 231 7.4.1 Select子句 231 7.4.2 From子句 233 7.4.3 Where子句 235 7.4.4 內置對像與方法 235 7.5 更精彩的查找:Visual VM對OQL的支持 240 7.5.1 Visual VM的OQL基本語法 240 7.5.2 內置heap對像 241 7.5.3 對像函數 243 7.5.4 集合/統計函數 247 7.5.5 程序化OQL分析Tomcat堆 253 7.6 小結 256 第8章  鎖與並發 257 8.1 安全就是鎖存在的理由:鎖的基本概念和實現 258 8.1.1 理解線程安全 258 8.1.2 對像頭和鎖 260 8.2 避免殘酷的競爭:鎖在Java虛擬機中的實現和優化 261 8.2.1 偏向鎖 261 8.2.2 輕量級鎖 263 8.2.3 鎖膨脹 264 8.2.4 自旋鎖 265 8.2.5 鎖消除 265 8.3 應對殘酷的競爭:鎖在應用層的優化思路 267 8.3.1 減少鎖持有時間 267 8.3.2 減小鎖粒度 268 8.3.3 鎖分離 270 8.3.4 鎖粗化 272 8.4 無招勝有招:無鎖 274 8.4.1 理解CAS 274 8.4.2 原子操作 275 8.4.3 新寵兒LongAdder 278 8.5 將隨機變為可控:理解Java內存模型 281 8.5.1 原子性 281 8.5.2 有序性 283 8.5.3 可見性 285 8.5.4 Happens-Before原則 287 8.6 小結 287 第9章  Class文件結構 288 9.1 不僅跨平臺,還能跨語言:語言無關性 288 9.2 虛擬機的基石:Class文件 290 9.2.1 Class文件的標志―魔數 291 9.2.2 Class文件的版本 293 9.2.3 存放所有常數―常量池 294 9.2.4 Class的訪問標記(Access Flag) 301 9.2.5 當前類、父類和接口 302 9.2.6 Class文件的字段 303 9.2.7 Class文件的方法基本結構 305 9.2.8 方法的執行主體―Code屬性 307 9.2.9 記錄行號―LineNumberTable屬性 308 9.2.10 保存局部變量和參數―LocalVariableTable屬性 309 9.2.11 加快字節碼校驗―StackMapTable屬性 309 9.2.12 Code屬性總結 314 9.2.13 拋出異常―Exceptions屬性 315 9.2.14 用實例分析Class的方法結構 316 9.2.15 我來自哪裡―SourceFile屬性 319 9.2.16 強大的動態調用―BootstrapMethods屬性 320 9.2.17 內部類―InnerClasses屬性 321 9.2.18 將要廢棄的通知―Deprecated屬性 322 9.2.19 Class文件總結 323 9.3 操作字節碼:走進ASM 323 9.3.1 ASM體繫結構 323 9.3.2 ASM之Hello World 325 9.4 小結 326 0章  Class裝載繫統 327 10.1 來去都有序:看懂Class文件的裝載流程 327 10.1.1 類裝載的條件 328 10.1.2 加載類 331 10.1.3 驗證類 333 10.1.4 準備 334 10.1.5 解析類 335 10.1.6 初始化 337 10.2 一切Class從這裡開始:掌握ClassLoader 341 10.2.1 認識ClassLoader,看懂類加載 342 10.2.2 ClassLoader的分類 342 10.2.3 ClassLoader的雙親委托模式 344 10.2.4 雙親委托模式的弊端 348 10.2.5 雙親委托模式的補充 349 10.2.6 突破雙親模式 351 10.2.7 熱替換的實現 354 10.3 小結 358 1章  字節碼執行 359 11.1 代碼如何執行:字節碼執行案例 360 11.2 執行的基礎:Java虛擬機常用指令介紹 370 11.2.1 常量入棧指令 370 11.2.2 局部變量壓棧指令 370 11.2.3 出棧裝入局部變量表指令 372 11.2.4 通用型操作 373 11.2.5 類型轉換指令 374 11.2.6 運算指令 376 11.2.7 對像操作指令 378 11.2.8 比較控制指令 380 11.2.9 函數調用與返回指令 386 11.2.10 同步控制 389 11.2.11 再看Class的方法結構 392 11.3 更上一層樓:再看ASM 393 11.3.1 為類增加安全控制 394 11.3.2 統計函數執行時間 397 11.4 誰說Java太刻板:Java Agent運行時修改類 400 11.4.1 使用-javaagent參數啟動Java虛擬機 400 11.4.2 使用Java Agent為函數增加計時功能 403 11.4.3 動態重轉換類 404 11.4.4 有關Java Agent的總結 407 11.5 與時俱進:動態方法調用 407 11.5.1 方法句柄使用實例 408 11.5.2 調用點使用實例 411 11.5.3 反射和方法句柄 413 11.5.4 指令invokedynamic使用實例 414 11.6 跑得再快點:靜態編譯優化 419 11.6.1 編譯時計算 419 11.6.2 變量字符串的連接 421 11.6.3 基於常量的條件語句裁剪 422 11.6.4 switch語句的優化 424 11.7 提高虛擬機的執行效率:JIT及其相關參數 425 11.7.1 開啟JIT編譯 425 11.7.2 JIT編譯閾值 426 11.7.3 多級編譯器 427 11.7.4 OSR棧上替換 430 11.7.5 方法內聯 432 11.7.6 設置代碼緩存大小 433 11.8 小結 436
    內容虛線

    內容簡介

    size="789x11"

    不管技術如何發展,Java依然是一個充滿活力的生態圈,學習Java的人也越來越多,但多數人學習Java虛擬機(JVM)時都會遇到瓶頸。本書將通過200餘個示例詳細介紹JVM中的各種參數配置、故障排查、性能監控及性能優化,幫助Java人突破瓶頸。本書共11章,修訂後版本涵蓋Java 6~Java 10。~3章介紹了Java虛擬機的定義、總體架構、常用配置參數。第4~5章介紹了垃圾回收的算法和各種垃圾回收器。第6章介紹了Java虛擬機的性能監控和故障診斷工具。第7章詳細介紹了對Java堆的分析方法和案例。第8章介紹了Java虛擬機對多線程,尤其是對鎖的支持。第9~10章介紹了Java虛擬機的核心―Class文件結構,以及Java虛擬機中類的裝載繫統。1章介紹了Java虛擬機的執行繫統和字節碼,並給出了通過ASM框架進行字節碼注入的案例。本書不僅適合Java程序員閱讀,還適合工作於Java虛擬機......

    作者簡介

    葛一鳴 著

    size="43x26"

    葛一鳴,51CTO特約講師,國家認證繫統分析師,獲得Oracle OCP認證。長期從事、Java軟件開發工作,對Java程序設計、JVM有深入的研究,對設計模式、人工智能、神經網絡、數據挖掘等技術有濃厚興趣,著有《自己動手寫神經網路》電子書,也開設了在線的《深入淺出Java虛擬機――入門篇》培訓課程,有問題可聯繫作者個人博客www.uucode.net。

    摘要

    "前    言 關於Java生態圈 Java是目前應用最廣泛的軟件開發平臺之一。隨著Java及Java社區的不斷壯大,Java也早已不再是簡簡單單的一門計算機語言了,它更是一個平臺、一種文化、一個社區。 作為一個平臺,Java虛擬機扮演著舉足輕重的作用。除了Java語言,任何一種能夠被編譯成字節碼的計算機語言都屬於Java這個平臺。Groovy、Scala、JRuby、Kotlin等都是Java平臺的一部分,它們依賴於Java虛擬機,同時,Java平臺也因為它們變得更加豐富多彩。 作為一種文化,Java幾乎成了“開源”的代名詞。在Java程序中,有著數不清的開源軟件和框架,如Tomcat、Struts、Hibernate、Spring等。就連JDK和JVM自身也有不少開源的實現,如OpenJDK、Harmony。可以說,“共享”的......

    "
     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部