Table of Contents
- Title and Copyright Information
- Preface
-
Part I General Java Troubleshooting
- 1 Prepare Java for Troubleshooting
-
2
Diagnostic Tools
- Diagnostic Tools Overview
- JDK Mission Control
- Flight Recorder
- The jcmd Utility
- Native Memory Tracking
- JConsole
- The jdb Utility
- The jinfo Utility
- The jmap Utility
- The jps Utility
- The jrunscript Utility
- The jstack Utility
- The jstat Utility
- The visualgc Tool
- Control+Break Handler
- Native Operating System Tools
- Custom Diagnostic Tools
- Postmortem Diagnostic Tools
- Hung Processes Tools
- Monitoring Tools
- Other Tools, Options, Variables, and Properties
- The jstatd Daemon
- 3 Troubleshoot Memory Leaks
- 4 Troubleshoot Performance Issues Using Flight Recorder
- 5 Troubleshoot Security APIs
- Part II Debug JVM Issues
- Part III Debug Core Library Issues
-
Part IV Debug Client Issues
- 10 Introduction to Client Issues
- 11 AWT
- 12 Java 2D Pipeline Rendering and Properties
- 13 Java 2D
-
14
Swing
- General Debug Tips for Swing
-
Specific Debug Tips for Swing
- Incorrect Threading
- JComponent Children Overlap
- Display Update
- Model Change
- Add or Remove Components
- Opaque Override
- Permanent Changes to Graphics
- Custom Painting and Double Buffering
- Opaque Content Pane
- Renderer Call for Each Cell Performance
- Possible Leaks
- Mix Heavyweight and Lightweight Components
- Use Synth
- Track Activity on Event Dispatch Thread
- Specify Default Layout Manager
- Listener Object Dispatched to Incorrect Component
- Add a Component to Content Pane
- Drag and Drop Support
- One Parent for a Component
- JFileChooser Issues with Windows Shortcuts
- 15 Internationalization
- 16 Java Sound
- Part V Submit Bug Reports
- Appendices