| help | account  


Java Performance Tuning, 2nd Edition
View Larger Image
Jack Shirazi
O'Reilly Media, Paperback, 2nd edition, Published January 2003, 600 pages, ISBN 0596003773
List Price: $44.95
Our Price: $27.95
You Save: $17.00 (38% Off)


FREE Shipping on Orders over $40!*
Availability: Out-Of-Stock

Be the First to Write a Review and tell the world about this title!

People who purchase this book frequently purchase:

Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:

Java application performance is tied pretty heavily to the underlying Java Virtual Machine, and the new 1.4 version of Java has significant changes that mean previously used performance tips and strategies may no longer work. Significantly revised and expanded, this second edition not only covers Java 1.4, but adds new coverage of JDBC, NIO, Servlets, EJB and JavaServer Pages. The book remains a valuable resource for teaching how to create a tuning strategy, how to use profiling tools to understand a program's behavior, and how to avoid performance penalties from inefficient code, making them more efficient and effective. The result is code that's robust, maintainable and fast!

 

Table of Contents

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




Forgot your password?
FAQs
Shipping Options
Returns
Your Orders
Your Account