Contents for Developing Java Applications
Introduction
Recommended Coding Practices
Read the Relevant Specifications
Example 1: Reflection
Example 2: Reflection Revisited
Example 3: Serialization
Never Use Deprecated Unsafe Methods
Minimize the Use of Finalizers
Don't Depend on Thread Priorities
Don't Use Internal sun.* or COM.jrockit.* Classes
Override java.Object.hashCode for User Defined Classes When Using java.util.Hashtable
Do Careful Thread Synchronization
Expect Only Standard System Properties
Minimize the Number of Java Processes
Avoid Calling System.gc()
Troubleshooting
An Application Does Not Run
Slow-to-Start Applications
Process Counter Does Not Initialize
Large Memory Consumption
Slow Performance vis-a-vis HotSpot
Randomly Appearing Bugs
BEA JRockit JVM Throws Errors HotSpot Does Not Throw
Slow Performance in Development Mode
BEA JRockit JVM Does Not Run Jakarta Tomcat as a Windows Service
Other Frequently Asked Questions
Profiling and Debugging with BEA JRockit
Profiling BEA JRockit
Using JVMPI
How JVMPI Works
Changing the JVMPI Default Behavior
Additional JVMPI Documentation
Profiling with the HPROF Profiling Agent
HPROF Documentation
Debugging with BEA JRockit
Java Virtual Machine Debugger Interface (JVMDI)
How JVMDI Works
JVMDI Documentation
Migrating to BEA JRockit
About Application Migration
Why Migrate?
Migration Restrictions
Migration Support
Migration Procedures
Environment Changes
Other Tips
Tuning BEA JRockit JVM for Your Application
Testing the Application
Why Test?
How to Test
Submitting Migration Tips