Java性能优化权威指南豆瓣PDF电子书下载|百度网盘下载

时间: 2022-05-06 22:27:01  4 性能调优 性能调优 Java

编辑评论:

Java 性能优化权威指南 是 Java 应用程序性能调优的圣经。涵盖了如何构建实验、解释结果和采取行动的提示。

20201116153757.png

关于作者

Charlie Hunt 目前是 Salesforce 的性能工程架构师。曾任Oracle首席JVM性能工程师,负责HotSpot Java虚拟机和Java SE类库性能的提升。 Charlie 拥有伊利诺伊理工学院计算机科学硕士学位和爱荷华州立大学计算机科学学士学位。

Binu John,全球最大的社交网站创建平台 Ning.com 的高级性能工程师。他目前的职责是专注于提高 Ning 平台的性能和可扩展性,以支持每月数百万的 PV 访问。 Binu 拥有美国爱荷华大学的生物医学工程和计算机科学硕士学位。

译者简介:

刘飞,毕业于中国科学技术大学和复旦大学。现为上海艾克盛信息技术有限公司工程师,曾任东方海外ISD工程师。目前主要关注的领域是 MySQL 和分布式计算。十年来,码农一直在忙碌,没有编码,他永远不会忘记。业余徒步旅行者和跑步者,中度拖延者。

卢明刚,毕业于四川大学,拥有近十年大型软件研发和测试经验。现任易安信中国卓越中心高级软件工程师,曾任趋势科技中国软件研发中心技术经理。他专注于 JVM 性能调优和大数据。挖掘技术背后的内幕并享受它。

精彩的书评

“这本书是 Java 性能优化的圣经!如果你是一个细节狂,这本书就是给你的。”

——Java之父詹姆斯·高斯林

《Java性能优化专业指南》是Java应用性能优化的必备参考书。它由 Oracle/Sun 性能优化专家编写,从底层操作系统系统详细地解释了性能优化的各个方面。还有JVM原理和监控工具,到性能测试技巧,再到上层应用框架的优化。如果您对 Java 性能优化有任何疑问,请从本书开始寻找答案,新手和老手都能从中受益。”

——莫舒,JVM 开发工程师,Azul Systems

“要优化一个Java程序的性能,不仅要对应用程序的代码实现有足够的了解,还要对底层的OS和JVM有更深入的了解。本书介绍Java程序员还需要master OS和JVM层面的知识很多,比较吸引人的是本书作者结合自己的经验,为大家总结了一些性能优化模式,比如CPU利用率高时如何优化.这些模式让我受益匪浅,相信看完之后,会给大家在日常工作中做性能优化提供很多帮助。”

——阿里巴巴技术专家林浩

“长期以来,有些人对Java抱有偏见,认为Java程序有性能低下的缺点。本书由浅入深地介绍了Java程序性能优化的各种工具和方法,帮助你学习了Java虚拟机的基本原理,以及一些监控Java程序性能的工具,从而快速发现程序中的性能瓶颈,有效的提升程序的性能。能够消除对Java程序性能的偏见,让Java真正发光发热。”

——阿里巴巴高级研发工程师李凡喜

“性能优化是一门非常实用的技术,而这本书就是这样一部非常实用的作品。本书涵盖了Java应用、Web应用、EJB等场景的性能分析。监控和优化的最佳实践和工具有一个相当的广度。同时,这本书绝不是一堆工具和资料。本书对很多底层细节进行了深入细致的介绍和分析,比如GC,JIT等基础JVM。原理,全部体现了作者的技术深度。通读本书可以让你更好地理解Java,深入洞察和解决潜在的性能问题。”

——谷歌高级软件工程师兼技术经理邹飞

章节详情

第1章“策略、方法和方法论”,介绍Java性能调优实践中的各种方法、策略和方法论,并对传统软件开发过程中的改进提出建议,应提前考虑软件开发 软件应用程序的性能和可扩展性。

第 2 章“操作系统性能监控”讨论操作系统性能监控,介绍操作系统中重要的监控统计信息,以及如何使用工具来监控这些统计信息。本章涵盖的操作系统包括 Windows、Linux 和 Oracle Solaris。在其他基于 Unix 的系统(例如 Mac OS X)上监视性能统计信息时,使用与 Linux 或 Oracle Solaris 相同或相似的命令。

第 3 章“JVM 概述”对 HotSpot VM 进行了高级介绍,描述了现代 Java 虚拟机的架构和操作的基本概念,并为后续的许多章节奠定了基础。本章并未涵盖所有 Java 性能调优问题,也没有提供 Java 性能问题所需的所有背景知识。但是本章为绝大多数与现代 Java 虚拟机内部密切相关的性能问题提供了足够的背景知识。结合第 7 章的内容,将帮助您了解如何调优 HotSpot VM,本章还将帮助您了解第 8 章和第 9 章的主题,即如何编写高效的基准测试。

第 4 章,“JVM 性能监控”,顾名思义,涵盖了 JVM 性能监控,介绍了需要监控的关键 JVM 统计数据,以及监控这些统计数据的工具。本章最后指出,这些工具可以扩展为一起监视 JVM 和 Java 应用程序统计信息。

第 5 章“Java 应用程序性能分析”和第 6 章“Java 应用程序性能分析技术”涵盖了性能分析。这两章可以看作是对第 2 章和第 4 章性能监控的补充。性能监控通常用于查看是否存在性能问题,或者提供定位性能问题的线索,告诉人们问题出在操作系统、JVM、Java 应用程序还是其他方面。一旦通过性能监控识别并进一步定位性能问题,通常可以执行性能分析。第 5 章介绍了分析 Java 方法和 Java 堆(内存)的基本技术,并推荐了一些免费工具来说明这些性能分析技术背后的概念。本章中提到的工具并不是性能分析的唯一手段。有许多提供类似功能的商业和免费工具,其中一些超出了第 5 章的技术范围。第 6 章提供了识别一些常见分析模式的技术,这些模式表明某些类型的性能问题。本章所列举的经验和技巧并不完整,是作者在多年Java性能调优过程中经常遇到的。附录 B 包含第 6 章中大部分示例的源代码。

第 7 章“JVM 性能调优简介”涵盖了 HotSpot VM 性能调优的许多方面,包括启动、内存占用、响应时间/延迟和吞吐量。第 7 章介绍了调优的一系列步骤,包括选择哪个 JIT 编译器、选择哪个垃圾收集器、如何调优 Java 堆以及如何更改应用程序以满足利益相关者设定的性能目标。对于大多数读者来说,第 7 章可能是本书中最有用和最有价值的参考。

第 8 章“基准测试 Java 应用程序”和第 9 章“基准测试多层应用程序”探讨了如何编写有效的基准测试。通常,基准测试通过应用程序功能的子集来衡量 Java 应用程序的性能。这两章还将展示创建高效 Java 基准测试的艺术。第 8 章涵盖了与编写高效基准测试相关的更一般主题,例如探索现代 JVM 的一些优化,以及如何在基准测试中使用统计方法来提高基准测试的准确性。第 9 章重点介绍如何编写高效的 Java EE 基准。

有些读者对 Java EE 应用程序的性能调优特别感兴趣,第 10 章,“Web 应用程序的性能调优”,第 11 章,“Web 服务的性能”和第 12 章,“Java 持久性和企业 Java Beans”。 “Performance”,侧重于 Web 应用程序、Web 服务、持久性和 Enterprise Java Beans 的性能分析。这三章对 Java EE 应用程序中常见的性能问题进行了深入分析,并针对常见的 Java EE 性能问题提供了建议或解决方案。

本书还有两个附录。附录 A,“重要的 HotSpot VM 选项”列出了本书中使用的 HotSpot VM 选项和其他重要的 HotSpot VM 性能调整选项,描述了每个选项的含义,并就何时使用这些选项提供了建议。附录 B,“Profiling 技术的示例源代码”,包含第 6 章中处理减少锁争用、调整 Java 集合的初始大小和增加并行度的示例的源代码。

精彩的书摘

2.4.6 监视器锁争用:Windows

与 Solaris 和 Linux 相比,Windows 的内置工具难以监控 Java 锁争用。 Windows 的性能计数器(包括 Performance Monitor 和 typeperf)可以监视上下文切换,但无法区分屈服和抢占式上下文切换。在 Windows 上监控 Java 锁争用通常需要外部工具,例如 Intel VTune 或 AMD CodeAnalyst。这些工具可以监控其他性能统计信息和 CPU 性能计数器以及分析 Java 锁。

2.4.7 隔离竞争锁

在 Java 源代码中追踪竞争锁一直很困难。为了在 Java 应用程序中找到竞争锁,通常定期转储线程以查找可能被多个线程之间的共享锁阻塞的线程。第 4 章详细介绍了此过程的示例。

Oracle Solaris Studio 性能分析器可在 Linux 和 Solaris 上使用,它是作者用来隔离和报告 Java 锁争用的最佳工具之一。第 5 章详细介绍了如何使用性能分析器来查找 Java 应用程序中的竞争锁。示例见第 6 章。

其他性能分析工具也可以在 Windows 上找到竞争锁。与 Oracle Solaris Studio PerformanceAnalyzer 功能类似的是 Intel VTune 和 AMD CodeAnalyst。

2.4.8 监控抢占式上下文切换

前面提到了抢占式上下文切换及其与让出式上下文切换的区别,但没有详细解释。让步上下文切换是指执行线程主动释放 CPU,而抢占式上下文切换是指线程因为分配的时间片用完而被迫放弃 CPU 或被其他优先级更高的线程抢占。可在 Solaris 上的 mpstat 的 icsw 列中查看抢占式上下文切换。

  • 声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,以上内容仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站内容来自网络收集整理或网友投稿,所提供的下载链接也是站外链接,版权争议与本站无关。您必须在下载后的24个小时之内,从您的设备中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版!我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!邮箱:121671486@qq.com,微信:diqiuren010101

学习考试资源网-58edu © All Rights Reserved.  湘ICP备12013312号-3 
站点地图| 免责说明| 合作请联系| 友情链接:学习乐园