Java性能优化权威指南

Charlie Hunt

出版时间

2014-02-28

ISBN

9787115342973

评分

★★★★★
书籍介绍

Java性能优化圣经!Java之父重磅推荐!

本书由曾任职于Oracle/Sun的性能优化专家编写,系统而详细地讲解了性能优化的各个方面,帮助你学习Java虚拟机的基本原理、掌握一些监控Java程序性能的工具,从而快速找到程序中的性能瓶颈,并有效改善程序的运行性能。

Java性能优化的任何问题,都可以从本书中找到答案!

Charlie Hunt现任Salesforce公司的性能工程架构师。曾任Oracle公司首席JVM性能工程师,负责HotSpot Java虚拟机和Java SE类库性能的改进。Charlie拥有美国伊利诺伊理工大学的计算机科学硕士学位、爱荷华州立大学的计算机科学学士学位。

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

null
AI导读
核心看点
  • 本书由Oracle/Sun前性能专家撰写,系统讲解性能优化方法论,涵盖自顶向下与自底向上两种分析路径,帮助读者建立正确的性能评估思维,避免盲目优化。
  • 深入剖析操作系统层面的性能监控,详细提供Windows、Linux、Solaris等平台的CPU、内存、网络I/O及锁竞争监控命令与工具使用指南,具备极强的实操参考价值。
  • 全面解析JVM内部机制,包括垃圾回收原理、堆内存分配策略、JIT编译器工作原理及启动流程,通过大量实例演示如何定位瓶颈并调整参数以提升系统运行效率。
适合谁读
  • 希望深入理解Java虚拟机底层原理,掌握性能调优技巧,提升系统稳定性与运行效率的中高级Java开发工程师及架构师。
  • 从事后端开发、运维或系统优化工作,需要排查复杂性能问题,学习操作系统资源监控与JVM诊断工具使用的专业技术人员。
  • 对计算机体系结构、操作系统资源管理及Java运行时环境感兴趣,希望构建完整性能优化知识体系的技术爱好者与研究人员。
读前提醒
  • 本书出版较早,部分操作系统工具及JVM版本已过时,建议读者重点学习性能分析思路与方法论,具体命令需结合当前环境查阅最新文档。
  • 书中内容极为详尽且偏向底层实现,阅读门槛较高,建议具备扎实的Java基础及操作系统知识,否则可能因概念晦涩而难以坚持。
  • 不建议通读全书,可跳过过时的监控工具章节,重点研读第6、7章关于JVM内存模型与垃圾回收的核心内容,以获取最大价值。
读者共识
  • 读者普遍认为本书在性能优化方法论和JVM原理讲解上极具权威性,逻辑严密,是构建Java性能知识体系的经典之作,值得收藏。
  • 大量评论指出书中涉及的操作系统命令、监控工具及JVM参数已严重过时,与当前主流技术栈脱节,直接照搬可能导致误导。
  • 尽管部分内容陈旧,但读者仍肯定其基础原理的正确性,认为其提供的优化思路和排查逻辑依然有效,可作为入门参考,但需批判性阅读。

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "A full garbage collection generally expresses the notion of garbage collecting and compacting the old generation and permanent generation spaces."
  • "In the HotSpot VM, the default behavior on a full garbage collection is to garbage collect the young generation, old generation, and permanent generation spaces."
  • "It is possible to configure the HotSpot VM to not garbage collect the young generation space on a full garbage collection prior to garbage collecting the old generation space using the command line option -XX:-ScavengeBeforeFullGC. The "-" character preceding the ScavengeBeforeFullGC disables the ga"
  • "Garbage collecting the young generation space prior to garbage collecting the old generation space usually results in less work for the garbage collector and more objects being garbage collected since objects in the old generation space may be holding object references to objects in the young genera"
  • "The launcher executes a sequence of operations to start the HotSpot VM. These steps are summarized here: 1. Parse command line options. Some of the command line options are consumed immediately by the launcher such as -client or -server, which determines the JIT compiler to load. Other command line "
  • "2. Establish the Java heap sizes and the JIT compiler type (client or server) if these options are not explicitly specified on the command line. If Java heap sizes and JIT compiler are not explicitly specified as a command line option, these are ergonomically established by the launcher. Ergonomic d"
  • "3. Establish environment variables such as LD_LIBRARY_PATH and CLASSPATH."
  • "4. If the Java Main-Class is not specified on the command line, the launcher fetches the Main-Class name from the JAR’s manifest."
作者简介
Charlie Hunt现任Salesforce公司的性能工程架构师。曾任Oracle公司首席JVM性能工程师,负责HotSpot Java虚拟机和Java SE类库性能的改进。Charlie拥有美国伊利诺伊理工大学的计算机科学硕士学位、爱荷华州立大学的计算机科学学士学位。 Binu John是世界上最大的社交网站创建平台Ning.com的高级性能工程师。他目前的职责是着力改善Ning平台的性能和扩展性,以支持每月数百万PV的访问量。Binu拥有美国爱荷华大学生物医学工程和计算机科学硕士学位。
目录
第1章 策略、方法和方法论  1
1.1  性能问题的现状  1
1.2  性能分析的两种方法:自顶向下和自底向上  4
1.2.1  自顶向下  4
1.2.2  自底向上  5

显示全部
用户评论
GC调优
总体很好的一本JVM的专业书籍!花了零零碎碎的时间看完了,有一小部分章节跳过了。目前记住的倒不多,但是已经不觉得这块儿像之前那么神秘了,对于堆空间大小比例(新生代、老生代以及新生代中Eden和Survivor)的分配和优化,讲述得很深刻,针对不同的场景提出不同的优化策略,覆盖面很广,另外还有举例描述,很容易理解记忆这些知识点,而不需要强行记忆。对各种GC日志的解读也很清晰明了,后边还有对web service的性能解析和优化。不满意的是这本书的最后接近100页全是之前例子中的Java代码,其实可以用一个链接到类似github这样的代码仓库就足够了,不过依然还是感谢译者这么辛苦。总体而言,这本书值得推荐,我个人还会再看看的。
鬼知道是我水平太差还是书太老旧……或者说这本不适合我?第六章可以看看,但也都是日常经验。第七章没有jvm基础确实看不进去……看来知识体系远远不够…… 另外,附录100页代码也是够了,就不能给人下载么。
比周志明写的更加系统,其周志明的就是贩卖这本书的精神的
有点厚,但内容没有觉得很权威哈
当前只有几章还能参考了
内容过时,实用性较差
有些内容有点过时。
不太实用了,现在大家都适用框架,应该有个spring性能优化权威指南
mark
下载
收藏