Java Sanity Start Page


You've landed at the main page for all J2EE & Java Related content at Java Sanity.

1. Configuring your JVM and Application Server

You should start by reading the configuration guide for a JVM or Application Server. These are items I've found very important to running a J2EE Application Server. If you configure your application server properly, it will help with analyzing a problem the first time it happens. This may keep you from having to change configuration items and wait for an event to properly analyze what went wrong.

2. General troubleshooting methodologies

This page provides a light introduction to the data you should gather and the places to look when you experience a problem. When your application server stops responding, don't panic and start gathering data as quickly as you can. Once you have gathered the data necessary, you may be able to obtain bypass to your current problem by restarting your application server. Even if restarting helps, consider this temporary and expect the problem to return.

3. Understanding a Java Thread Dump

This is a light introduction to analyzing a Java Thread Dump. In this section, we'll look at how a thread dump differs between application server vendors - and we'll break down an example thread dump.

[Coming Soon] 4. Identifying potential thread related problems

We'll cover some common thread related issues I've ran into while troubleshooting production application server problems in this section.

[Coming Soon] 5. Understanding Java Memory

I've ran into a good number of questions and misconceptions related to Java and how it uses memory. In here, we'll cover some basic concepts surrounding the Java heap and how it is managed by the virtual machine. We'll cover the various collectors and some specifics about how they work.

[Coming Soon] 6. Interpreting Verbose GC Output

In this section, we'll break down the verbose GC output from each of the major Java vendors. Some questions answered here: Why did a GC happen?

[Coming Soon] 7. Identifying potential problems with memory utilization

In this section we'll cover how to identify memory and heap related problems within the Java Virtual Machine. When am I running out of memory? Why did a Full GC happen?.

[Coming Soon] 8. Tuning your Java Heap related parameters