Tuning Java Garbage Collection

I recently completed a garbage collection exercise on a variety of applications. In all, twenty WebLogic application clusters were tuned. A dozen of these are large busy application clusters. These provide a mix of Web Applications and Web Services. Tuning garbage collection is a matter of trade-offs. Large heaps take longer to garbage collect. Small […]

Command Line Arguments in Python

When I need a new tool, I often code it in Python.  Often, command line options are useful. Sometimes it is possible to have a fixed set of parameters, but this is not very flexible. Fortunately, Python has standard libraries to handle parsing command lines.  There are three libraries providing varying capabilities.  Some of the […]

Choosing Log Levels

There are many tools available that will allow a programmer to create log entries.  I originally worked with log4j, but have recently been working with logback. I am also working with Jython and am looking at Python’s logging framework. Used well they can make log analysis simple and provide a rich tool for resolving issues. […]

Disable TraceClassUnloading in Java6

I recently discovered logs filling up  with log messages for classes being unloaded during garbage collection.   After a little research, I found that the TraceClassUnloading switch gets turned on by the Xloggc switch.   After a little testing I found, that this can be resolved by adding the argument -XX:-TraceClassUnloading after the -Xloggc argument.

Code Optimization Rules

It is common for developers to worry about optimization while doing initial programming. Some write extremely complex code in the belief that it is optimized. Unfortunately, this code is often slower than it might otherwise be. Additionally, the compiler may be unable to optimize the code. I find optimization is rarely necessary and effective optimizations […]