책 이미지
책 정보
· 분류 : 외국도서 > 컴퓨터 > 프로그래밍 언어 > Java
· ISBN : 9780596003777
· 쪽수 : 588쪽
책 소개
목차
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