Aug 03

It’s called garbage collection, not resource collection!

Java’s garbage collector has made life so easy for us developers that we sometimes confuse between deleting a reference, i.e. a task the GC does, and releasing a resource – a task the GC doesn’t do. That’s because the GC does something else for us called object finalization, where resources usually clean themselves up.

When I say resources, just think of input/output streams, readers/writers, channels, JDBC, JMS.. the list could go on and on. I almost expect to see code such as: Continue reading »

  • Share/Bookmark
Jul 05

Recently we switched from Log4J to the java.util.logger package (for this entry it will be called the “Java Logger”). Why, you might wonder, and I don’t have a good reason to give other than the illusion the Java Logger package gives as being more standard. I would like to stress the word illusion for a minute here.

Since the title ruins any chance for a surprise ending, I will be brief, but give a few points about the tools I used. The starting point was that the entire back-end system slowed down significantly; no exceptions found in the logs, nothing stopped working, everything just got 20-40 times slower. So, what can be done?

  • Share/Bookmark
Jan 02

While the Java community celebrates the release of JavaFX 1.0, two JSRs are striving to teach us again how to write Swing applications – this time, the easy way. JSR 295 addresses property manipulations and bindings, not just in the Swing framework but throughout the Java platform; JSR 296 simplifies Java application creation using Swing, bringing a “Swing for the rest of us” kind of approach.

In this post, I’ll discuss JSR 296 and what it brings, and my opinion of where it could be improved; in the followup post I’ll discuss JSR 295, and try to do the same for that. Continue reading »

  • Share/Bookmark

Chaotic Java is Digg proof thanks to caching by WP Super Cache