Java性能优化权威指南

Charlie Hunt

出版时间

2014-02-28

ISBN

9787115342973

评分

★★★★★
书籍介绍
这本书最值钱的,是它把「性能优化」当成一门需要方法论的手艺来讲,而不是堆砌零技巧。作者用自顶向下与自底向上两种分析思路,教你怎么系统定位瓶颈,而不是凭感觉瞎改。读者普遍反馈:细节多到啰嗦、部分章节已过时(G1普及后很多人不再手动调GC、旧监控工具冷门),但优化思路本身历久不变。它适合想建立JVM调优完整框架、尤其关心堆空间分配(新生代、老生代、Eden与Survivor比例)的实战派,也适合已读过《深入理解Java虚拟机》、觉得后者太深、想要更系统实践指引的人。它不教你赶时髦的新特性,而是把经典调优逻辑讲透——买它,是买一套经得起时间考验的分析框架。
作者简介
Charlie Hunt现任Salesforce公司的性能工程架构师。曾任Oracle公司首席JVM性能工程师,负责HotSpot Java虚拟机和Java SE类库性能的改进。Charlie拥有美国伊利诺伊理工大学的计算机科学硕士学位、爱荷华州立大学的计算机科学学士学位。 Binu John是世界上最大的社交网站创建平台Ning.com的高级性能工程师。他目前的职责是着力改善Ning平台的性能和扩展性,以支持每月数百万PV的访问量。Binu拥有美国爱荷华大学生物医学工程和计算机科学硕士学位。
AI导读
核心看点
  • 本书由Oracle/Sun前性能专家撰写,系统讲解性能优化方法论,涵盖自顶向下与自底向上两种分析路径,帮助读者建立正确的性能评估思维,避免盲目优化。
  • 深入剖析操作系统层面的性能监控,详细提供Windows、Linux、Solaris等平台的CPU、内存、网络I/O及锁竞争监控命令与工具使用指南,具备极强的实操参考价值。
  • 全面解析JVM内部机制,包括垃圾回收原理、堆内存分配策略、JIT编译器工作原理及启动流程,通过大量实例演示如何定位瓶颈并调整参数以提升系统运行效率。
读者共识
  • 读者普遍认为本书在性能优化方法论和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."
目录
第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
下载
收藏