Buy used:
$45.99
to get FREE delivery Sunday, November 17. Order within 7 hrs 30 mins
Or Non members get FREE delivery Tuesday, November 19
Condition: Used: Good
Comment: Minimal signs of wear. Corners and cover may show wear. May contain highlighting and or writing. May be missing dust jacket. May not include supplemental materials. May be a former library book. Ships direct from Amazon!
Access codes and supplements are not guaranteed with used items.
{{numberOfItems}} item(s) added for {{price}}
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Java Performance: The Definitive Guide: Getting the Most Out of Your Code 1st Edition

4.3 4.3 out of 5 stars 106 ratings

Coding and testing are often considered separate areas of expertise. In this comprehensive guide, author and Java expert Scott Oaks takes the approach that anyone who works with Java should be equally adept at understanding how code behaves in the JVM, as well as the tunings likely to help its performance.

You’ll gain in-depth knowledge of Java application performance, using the Java Virtual Machine (JVM) and the Java platform, including the language and API. Developers and performance engineers alike will learn a variety of features, tools, and processes for improving the way Java 7 and 8 applications perform.

  • Apply four principles for obtaining the best results from performance testing
  • Use JDK tools to collect data on how a Java application is performing
  • Understand the advantages and disadvantages of using a JIT compiler
  • Tune JVM garbage collectors to affect programs as little as possible
  • Use techniques to manage heap memory and JVM native memory
  • Maximize Java threading and synchronization performance features
  • Tackle performance issues in Java EE and Java SE APIs
  • Improve Java-driven database application performance


Amazon First Reads | Editors' picks at exclusive prices

Editorial Reviews

About the Author

Scott Oaks is an architect at Oracle Corporation, where he works on the performance of Oracle’s middleware software. Prior to joining Oracle, he worked for years at Sun Microsystems, specializing in many disparate technologies from the SunOS kernel to network programming and RPCs to windows systems and the OPEN LOOK Virtual Window Manager. In 1996, Scott became a Java evangelist for Sun and in 2001 joined their Java Performance group--which has been his primary focus ever since. Scott also authored O’Reilly’s Java Security, Java Threads, JXTA in a Nutshell, and Jini in a Nutshell titles.

Product details

  • Publisher ‏ : ‎ O'Reilly Media; 1st edition (May 27, 2014)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 423 pages
  • ISBN-10 ‏ : ‎ 1449358454
  • ISBN-13 ‏ : ‎ 978-1449358457
  • Item Weight ‏ : ‎ 1.6 pounds
  • Dimensions ‏ : ‎ 7.01 x 0.92 x 9.06 inches
  • Customer Reviews:
    4.3 4.3 out of 5 stars 106 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Scott Oaks
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Discover more of the author’s books, see similar authors, read book recommendations and more.

Customer reviews

4.3 out of 5 stars
106 global ratings

Top reviews from the United States

Reviewed in the United States on February 22, 2015
Perfect various java performance book. Standard performance books are all about GC, JVM, classloaders and the stuff, but this book touches different aspects of java performance avoiding too detailed information that is for sure not important for java programmers excluding oracle JVM developers or HFT systems developers who really need to know all JVM insides. Though this does not seem that all themes are covered superficially they are really valuable and useful. GC advice helped me in production very much.
Style of book is light, examples are clear, I think every java developer should read this book for sure
One person found this helpful
Report
Reviewed in the United States on September 10, 2015
The starting discussion on general performance optimization is not very useful for an experienced programmer. For example the advice to "write better algorithms" is not really what I was looking for in a book on Java performance. However, for inexperienced programmers it is a good starting place.

For those looking for Java specifics the later chapters contain the most useful information. Of primary interest was the discussion of the inner working of the GC, the JIT and the heap. The hints and special cases were useful guidelines and provided information on areas to start looking for optimization but were of less overall utility than the JVM discussions.
6 people found this helpful
Report
Reviewed in the United States on July 4, 2014
An outstanding resource that lives up to its title. Oaks is expert and gives clear descriptions of how to measure and understand Java performance, why it works as it does, and the steps the practitioner should take to improve performance. I've already used it with great benefit on the application I work with. The strongest possible recommendation for anybody working with Java.
One person found this helpful
Report
Reviewed in the United States on November 30, 2014
I hand't finished the book yet though so far it has impressed me. It gives you all possible JVM settings for you tweak and try extract the better performance from your environment, the thing that hook me up is that it use a recent JDK version.
Reviewed in the United States on February 6, 2015
Generally a nice book and a good thing to use as references though I guess JVM documentation can do the same thing. The take-out of this book is that it can guide you into situation when you might want to think about some JVM param tuning. The author is also quite honest in his writing at the beginning. The best and most applicable way to improve software performance is at the algorithm and coding level.

Some readers here may dissect his examples further, but I think the author has already cautioned us at the beginning about the gain from tuning JVM parameters. Defaults JVM parameters will be good in the vast majority of cases. Overall, I would like to give a 3.5, but since I can't do that. I think 3 is a fair score.
6 people found this helpful
Report
Reviewed in the United States on October 14, 2014
Really love this. Its like a novel to read and he lays out clearly how each of the things will affect the performance. I upgraded the performance of my app from 67K to 193K messages/second. I am really interested in connecting with him in LinkedIn.
Reviewed in the United States on January 2, 2015
Overall this book has given an amazing insight into JVM performance tuning and considerations regarding Java SE code performance.

However I found the JEE part was lacking in detail in comparison to the other parts.
2 people found this helpful
Report
Reviewed in the United States on March 17, 2015
Just like the title says, it's really THE definitive guide. A complete guide, covering in a bright way most of the content about Java and HotSpot JVM Performance Engineering.
One person found this helpful
Report

Top reviews from other countries

Translate all reviews to English
Jon
5.0 out of 5 stars Overall a very good book. Definitely worth a read
Reviewed in the United Kingdom on January 13, 2018
Overall a very good book. Definitely worth a read!

It seems to focus primarily on the Hotspot virtual machine. With other VM implementations now available, for example Eclipse OpenJ9. It would be good to see an acknowledgment to these are well.
Amazon Customer
3.0 out of 5 stars There's some damn good, and some bad
Reviewed in France on February 25, 2018
I liked the first part of the book, around JDK internals, especially the explanation around various GCs.

Now I did not like programming advices, to me many seem non-sensical. Even in the provided examples the author usually returns class implementations instead of APIs which is a very bad practice, and in the JPA looks like there's bullshit (especially around the cartesian issue w/ Hibernate). But the good advice in the second part is "tune your code before tuning the JVM", which is basic common sense.
Chaitanya Bhardwaj
5.0 out of 5 stars O'Reilly always deserves a beer!!
Reviewed in India on May 30, 2017
This book is just amazing for all the programming enthusiasts. Books like these aren't particular to a certain language. Instead, they can give you references and best programming practices in general too! Without a second thought, go for this book.
Stephane Grenier
5.0 out of 5 stars Best book on truly understanding the performance of Java and the JVM
Reviewed in Canada on October 5, 2016
I've been working with Java for over a decade and have read many many books on the topic. This is the first book I read that really goes deep into the details of the performance of both the language and the JVM. Not only does it explain why, the book also includes proofs for it's claims. I definitely learned quite a bit from this book even after reading more books than I can count and working in Java since version 1.0.2.
Fabiano C. de Oliveira
5.0 out of 5 stars Para melhor conhecer a implementação do próprio JDK
Reviewed in Brazil on September 26, 2015
Embora o foco do livro (como o título explicita) seja o tunning e performance de aplicações Java SE e Java EE, não posso deixar de mencionar o excelente trabalho que o autor faz explicando e detalhando a implementação do próprio Java e JDK.

O autor é muito feliz de minuciar a plataforma Java praticamente como um todo. Tópicos como os tão comuns Garbage Collections são tão detalhados como os menos comuns tunnings do compilador JIT do Java, flags de tunnings de Threads um visualização do Java Memory Model (que o livro explica de forma simples e fácil. Embora na literatura Java seja um assunto espinhoso).

Além disso, outro ponto alto do livro é oferecer dicas de tunning e melhorias de performance para as API Java EE e do próprio JDK explicando aí as várias melhorias do próprio Java.

Em suma, leitura altamente recomendada não só para quem deseja iniciar na melhoria e tunning de aplicações Java mas também para desenvolvedores que desejam codificar melhor.