| 
 Testing Performance Home 
 Testing Performance Articles 
 Testing Performance Links 
Testing Performance Books 
Testing Performance Tools 
Testing Performance Keywords 
 | 
Testing Performance
Java Performance Tuning, 2nd Edition
| 
 | 
 |  
| 
	
 | 
	
 | 	
 
| 
 Contents Listing
  Preface 
 1. Introduction
       Why Is It Slow? 
       The Tuning Game 
       System Limitations and What to Tune 
       A Tuning Strategy 
       Perceived Performance 
       Starting to Tune 
       What to Measure 
       Don't Tune What You Don't Need to Tune 
       Performance Checklist 
 2. Profiling Tools
       Measurements and Timings 
       Garbage Collection 
       Method Calls 
       Object-Creation Profiling 
       Monitoring Gross Memory Usage 
       Client/Server Communications 
       Performance Checklist 
 3. Underlying JDK Improvements
       Garbage Collection 
       Tuning the Heap 
       Gross Tuning 
       Fine-Tuning the Heap 
       Sharing Memory 
       Replacing JDK Classes 
       Faster VMs 
       Better Optimizing Compilers 
       Sun's Compiler and Runtime Optimizations 
       Compile to Native Machine Code 
       Native Method Calls 
       Uncompressed ZIP/JAR Files 
       Performance Checklist 
 4. Object Creation
       Object-Creation Statistics 
       Object Reuse 
       Reference Objects 
       Avoiding Garbage Collection 
       Initialization 
       Early and Late Initialization 
       Performance Checklist 
 5. Strings
       The Performance Effects of Strings 
       Compile-Time Versus Runtime Resolution of Strings 
       Conversions to Strings 
       Strings Versus char Arrays 
       String Comparisons and Searches 
       Sorting Internationalized Strings 
       Performance Checklist 
 6. Exceptions, Assertions, Casts, and Variables
       Exceptions 
       Assertions 
       Casts 
       Variables 
       Method Parameters 
       Performance Checklist 
 7. Loops, Switches, and Recursion
       Loops 
       Tuning a Loop 
       Exception-Terminated Loops 
       Switches 
       Recursion 
       Recursion and Stacks 
       Performance Checklist 
 8. I/O, Logging, and Console Output
       Replacing System.out 
       Logging 
       From Raw I/O to Smokin' I/O 
       Serialization 
       Clustering Objects and Counting I/O Operations 
       Compression 
       NIO 
       Performance Checklist 
 9. Sorting
       Avoiding Unnecessary Sorting Overhead 
       An Efficient Sorting Framework 
       Better Than O(nlogn) Sorting 
       Performance Checklist 
 10. Threading
       User-Interface Thread and Other Threads 
       Race Conditions 
       Deadlocks 
       Synchronization Overhead 
       Timing Multithreaded Tests 
       Atomic Access and Assignment 
       Thread Pools 
       Load Balancing 
       Threaded Problem-Solving Strategies 
       Performance Checklist 
 11. Appropriate Data Structures and Algorithms
       Collections 
       Java 2 Collections 
       Hashtables and HashMaps 
       Optimizing Queries 
       Comparing LinkedLists and ArrayLists 
       The RandomAccess Interface 
       Cached Access 
       Caching Examples 
       Finding the Index for Partially Matched Strings 
       Search Trees 
       Performance Checklist 
 12. Distributed Computing
       Tools 
       Message Reduction 
       Comparing Communications Layers 
       Caching 
       Batching I 
       Application Partitioning 
       Batching II 
       Low-Level Communication Optimizations 
       Distributed Garbage Collection 
       Databases 
       Web Services 
       Performance Checklist 
 13. When to Optimize
       When Not to Optimize 
       Tuning Class Libraries and Beans 
       Analysis 
       Design and Architecture 
       Tuning After Deployment 
       More Factors That Affect Performance 
       Performance Planning 
       Performance Checklist 
 14. Underlying Operating System and Network Improvements
       Hard Disks 
       CPU 
       RAM 
       Network I/O 
       Performance Checklist 
 15. J2EE Performance Tuning
       Performance Planning 
       J2EE Monitoring and Profiling Tools 
       Measurements: What, Where, and How 
       Load Testing 
       User Perception 
       Clustering and Load Balancing 
       Tuning JMS 
       Performance Checklist 
 16. Tuning JDBC
       Measuring JDBC Performance 
       Tuning JDBC 
       Performance Checklist 
 17. Tuning Servlets and JSPs
       Don't Use SingleThreadModel 
       Efficient Page Creation and Output 
       Body Tags 
       Cache Tags 
       HttpSession 
       Compression 
       More Performance Tips 
       Case Study: Ace's Hardware SPECmine Tool 
       Performance Checklist 
 18. Tuning EJBs
       Primary Design Guidelines 
       Performance-Optimizing Design Patterns 
       The Application Server 
       More Suggestions for Tuning EJBs 
       Case Study: The Pet Store 
       Case Study: Elite.com 
       Performance Checklist 
 19. Further Resources
       The Primary Resource 
       Books 
       Magazines 
       URLs 
       Profilers 
       Optimizers 
 Index 
 | 
 
 
 | 
 Contents
 View a contents listing.
 
 Short
 Short Description.
 	
 
 Keyword Pages
 Java
 Java performance
 Java performance tuning
 object-oriented
 performance
 performance tuning
 profiling tools
 tuning
 	
Keyword Bestsellers
  Java performance
  
 Java performance tuning
  
 object-oriented
  
 performance
  
 performance tuning
  
 profiling tools
  
 tuning
  
Java
  
Testing Performance Bestsellers The bestselling books on Amazon. 
Articles 	
 Load Testing 
 performance testing 
 Test Tools 
 Web Performance Tuning 
 Tool Mentor 
 |