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

Front Cover
"O'Reilly Media, Inc.", Apr 10, 2014 - Computers - 426 pages

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
 

Contents

Chapter 1 Introduction
1
Chapter 2 An Approach to Performance Testing
11
Chapter 3 A Java Performance Toolbox
37
Chapter 4 Working with the JIT Compiler
73
Chapter 5 An Introduction to Garbage Collection
105
Chapter 6 Garbage Collection Algorithms
133
Chapter 7 Heap Memory Best Practices
177
Chapter 8 Native Memory Best Practices
223
Chapter 9 Threading and Synchronization Performance
237
Chapter 10 Java Enterprise Edition Performance
277
Chapter 11 Database Performance Best Practices
321
Chapter 12 Java SE API Tips
355
Appendix A Summary of Tuning Flags
387
Index
397
About the Author
409
Copyright

Other editions - View all

Common terms and phrases

About the author (2014)

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.

Bibliographic information