Damodar's Musings

web development and miscellany

Browsing Posts in Java

All right – now, we’re finally ready to get to the meat of what JSR 315 brings to the table – asynchronous servlets. Prior to JSR 315, the world was a very simple and pleasant place. It was the world of the synchronous web. The server maintained a server socket that waited at the gates […]

Help is at hand for everyone who has ever cursed at having to add entries to their web.xml just because they wanted to use a third party framework. With JSR 315, web.xml is no longer a single monolithic entity, but instead can be assembled from multiple pieces (called web fragments) into a single whole. For […]

Next up is the idea of programmatic definition of components. One might argue that this is not a real benefit, and I might even agree. For a while now, it has been vogue to decry the explicit instantiation of components – and the new operator has been driven out of its usual home, and into […]

In this series of articles, I’m going to describe elements of my talk at the TC JUG. I chose to present the topics in JSR 315 in an ascending order of importance. So let’s begin with what i think is the least important of the lot. I’m sure others will argue with my ordering, but […]

I’ll be speaking at the Twin Cities Java Users Group tomorrow. I hope to meet a number of people from my former team, and I do hope some of my new teammates will come out as well. In case you aren’t able to make it, but are interested in learning what I’m going to speak […]

While working on a presentation for JSR 315 – servlet specification 3.0, I realized that a key aspect to understanding asynchronous servlets was to understand how asynchronous processing worked in Java in the first place. One thing led to another, and soon I was neck deep in executors and executor services – the key building […]

Today I got a chance to play around with building the brand new Tomcat 7. If you’ve read my book, you know the steps. To summarize: 1) Get the latest JDK, which right now is at version 6u21. Add {JAVA_HOME}/bin to your path. 2)  Get winmd5sum – those of you who know me are aware […]

Now that the basics of garbage collection are behind us, in this post I’ll discuss the Garbage Collectors that are available for us to choose from. Before we go there, let’s first look at two key measures that will help us evaluate the available garbage collectors. The time spent by an executing application can be […]

The image below demonstrates what the JVM heap might look like after an application has been running for some time. As we saw in the last article, the JVM’s heap is divided into 3 main areas – the permanent generation (purple), the old generation (yellow), and the young generation. The young generation area is further […]

Garbage collection in the JVM is often treated as a dark art. We know that we’re supposed to be thankful to the JVM for freeing us from worrying about the intricacies of memory management. At the same time, we’d like to retain some amount of control over this process as well. The challenge for most […]