Type Here to Get Search Results !

Java Performance by Scott Oaks in pdf


Download this PDF book: Java Performance: The Definitive Guide: Getting the Most Out of Your Code 1st Edition by Scott Oaks

The science part of this statement isn’t surprising; discussions about performance in‐ clude lots of numbers and measurements and analytics.

Most performance engineers have a background in the sciences, and applying scientific rigor is a crucial part of achieving maximum performance. What about the art part? The notion that performance tuning is part art and part science is hardly new, but it is rarely given explicit acknowledgment in performance discussions. 

This is partly because the idea of “art” goes against our training. Part of the reason is that what looks like art to some people is fundamentally based on deep knowledge and experience. 

It is said that magic is indistinguishable from suffi‐ ciently advanced technologies, and certainly it is true that a cell phone would look magical to a knight of the Round Table. Similarly, the work produced by a good per‐ formance engineer may look like art, but that art is really an application of deep knowl‐ edge, experience, and intuition.

This book cannot help with the experience and intuition part of that equation, but its goal is to help with the deep knowledge—with the view that applying knowledge over time will help you develop the skills needed to be a good Java performance engineer. 

The goal is to give you an in-depth understanding of the performance aspects of the Java platform. This knowledge falls into two broad categories. First is the performance of the Java Virtual Machine (JVM) itself: the way in which the JVM is configured affects many aspects of the performance of a program. 

Developers who are experienced in other languages may find the need for tuning to be somewhat irksome, though in reality tuning the JVM is completely analogous to testing and choosing compiler flags during com‐ pilation for C++ programmers, or to setting appropriate variables in a php.ini file for PHP coders, and so on.

The second aspect is to understand how the features of the Java platform affect perfor‐ mance. Note the use of the word platform here: some features (e.g., threading and syn‐ chronization) are part of the language, and some features (e.g., XML parsing perfor‐ mance) are part of the standard Java API. 

Though there are important distinctions between the Java language and the Java API, in this case they will be treated similarly. This book covers both facets of the platform. 

The performance of the JVM is based largely on tuning flags, while the performance of the platform is determined more by using best practices within your application code. 

In an environment where developers code and a performance group tests, these are often considered separate areas of expertise: only performance engineers can tune the JVM to eke out every last bit of performance, and only developers worry about whether their code is written well. 

That is not a useful distinction—anyone who works with Java should be equally adept at understanding how code behaves in the JVM and what kinds of tuning is likely to help its performance. Knowledge of the complete sphere is what will give your work the patina of art.

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

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.

Table of Contents:

1. Introduction

2. An Approach to Performance Testing

3. A Java Performance Toolbox

4. Working with the JIT Compiler

5. An Introduction to Garbage Collection

6. Garbage Collection Algorithms

7. Heap Memory Best Practices

8. Native Memory Best Practices

9. Threading and Synchronization Performance

10. Java Enterprise Edition Performance

11. Database Performance Best Practices

12. Java SE API Tips

About the book:

Publisher ‏ : ‎ O'Reilly Media; 1st edition (May 6, 2014)

Language ‏ : ‎ English

Pages ‏ : ‎ 426 

File : PDF, 13MB


Free Download the Book: Java Performance: The Definitive Guide: Getting the Most Out of Your Code 1st Edition by Scott Oaks

PS: Share the link with your friends

If the Download link is not working, kindly drop a comment below, so we'll update the download link for you.

Happy downloading!

Post a Comment

* Please Don't Spam Here. All the Comments are Reviewed by Admin.