Java Platform Performance
Strategies and Tactics
Résumé
Drawing on the authors' knowledge of the Java programming language and their extensive experience working on performance issues, the book reveals common mistakes and misconceptions concerning the performance characteristics of Java technologies. It offers overall development strategies and concrete, battle-tested techniques to dramatically improve the performance of applications constructed with the Java programming language.
Java™ Platform Performance highlights the importance of integrating performance evaluation into the application development process and discusses measurement techniques. The book then presents practical tactics for enhancing application performance in the areas of I/O, RAM footprint, small object management, algorithms, data structures, Swing, and deployment. Specific topics covered include:
- Incorporating performance evaluation into the development process
- Profiling and benchmarking
- Building scalable, fast Swing GUIs
- Using high-speed I/O
- Computing and controlling the RAM footprint
- Reducing the number of classes
- Eliminating temporary objects
- Selecting high-performance algorithms and data structures
- Using Java native code and applet packaging efficiently
- Garbage collection
- Java HotSpot™ technology
With an understanding of the performance issues and specific techniques for reducing overhead discussed in this book, you will have the information you need to enhance the efficiency, speed, and scalability of your software.
Table of contents
- Preface
- Introduction
- Part I: Strategies
-
1 - What Is Performance?
- 1.1 Computational Performance
- 1.2 RAM Footprint
- 1.3 Startup Time
- 1.4 Scalability
- 1.5 Perceived Performance
-
2 - The Performance Process
- 2.1 Developing a Performance Process
- 2.2 References on Object-Oriented Design
-
3 - Measurement Is Everything
- 3.1 Benchmarking
- 3.2 Profiling
- 3.3 Dealing with Flat Profiles
Part II: Tactics-
4 - I/O Performance
- 4.1 Basic I/O
- 4.2 Serialization
-
5 - RAM Footprint
- 5.1 Computing RAM Footprint
- 5.2 What Contributes to Footprint?
- 5.3 Class Loading
-
6 - Controlling Class Loading
- 6.1 Eager Class Loading
- 6.2 Reducing the Number of Classes
- 6.3 Running Multiple Programs
-
7 - Object Mutability: Strings and Other Things
- 7.1 Lots of Little Objects
- 7.2 Handling String Objects
- 7.3 Mutable Objects in AWT and Swing
- 7.4 Other Mutable Object Tactics
- 7.5 Mutable Object Case Study
- 7.6 Small Objects and the Modern JVM
- 7.7 Array Mutability
-
8 - Algorithms and Data Structures
- 8.1 Selecting Algorithms
- 8.2 Using Recursive Algorithms
- 8.3 Beyond Simple Algorithms
- 8.4 Selecting Data Structures
- 8.5 Collections Example
- 8.6 References on Algorithms and Data Structures
-
9 - Using Native Code
- 9.1 Native Graphics Example
- 9.2 Examining JNI Costs
- 9.3 Native Code Case Studies
-
10 - Swing Models and Renderers
- 10.1 Swing's Component Architecture
- 10.2 Scalable Components
-
11 - Writing Responsive User Interfaces with Swing
- 11.1 Guidelines for Responsive GUIs
- 11.2 Using Threads in Swing Programs
- 11.3 Using Timers in Swing Applications
- 11.4 Responsive Applications Use Threads
- 11.5 Example: Searching the Web
-
12 - Deployment
- 12.1 Compiler Options
- 12.2 JAR Files
- 12.3 Packaging Utilities
- 12.4 Dynamic Downloading
Appendices-
A - The Truth About Garbage Collection
- A.1 Why Should You Care About Garbage Collection?
- A.2 The Guarantees of GC
- A.3 The Object Lifecycle
- A.4 Reference Objects
- A.5 References on Garbage Collection
-
B - The Java HotSpot Virtual Machine
- B.1 HotSpot Architecture
- B.2 Runtime Features
- B.3 HotSpot Server Compiler
- B.4 -X Flags
- B.5 -XX Flags
- References
- Index
L'auteur - Steve Wilson
is the Engineering Manager of the Java Performance Team
at Sun Microsystems's Java Software unit. There he leads
the team that is responsible for performance tuning of the
Java? 2 Standard Edition internals and helps third-party
developers improve program code performance. Mr. Wilson
previously worked as a member of the Swing team, which
developed the Java Foundation Classes toolkit. Prior to
joining Sun, he spent several years as an independent
consultant specializing in object-oriented
technologies.
L'auteur - Jeff Kesselman
is an engineer on the Java Performance Team at Sun
Microsystems's Java Software unit where he works with
various groups to improve Java code performance. Prior to
joining Sun, he developed cutting-edge games for several PC
and console platforms in the computer game industry.
Caractéristiques techniques
PAPIER | |
Éditeur(s) | Addison Wesley |
Auteur(s) | Steve Wilson, Jeff Kesselman |
Parution | 25/05/2000 |
Nb. de pages | 256 |
EAN13 | 9780201709698 |
ISBN13 | 978-0-201-70969-8 |
Avantages Eyrolles.com
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse