Performance Tuning Methodology
I’m taking a brief excursion from my usual identity and API-centric posts to answer a question about performance tuning that someone asked me earlier this year. In a previous incarnation of my career, I was focused on performance tuning and diagnostics — particularly involving Java systems.…
What are APIs? (The Technology Perspective)
This post was originally published as “What are APIs? (The Technology Perspective)” on the Levvel Blog.
Concurrency And Server-Side Networking APIs — Part 4
The original article can be found here. Introduction
Concurrency And Server-Side Networking APIs — Part 3
This is part three of an exploration of how concurrency in networking APIs works in Unix-like operating systems and Java technology. This article now looks at the Java equivalents of several C-based server implementations that have been presented. If you haven’t read this series from the beginning,…
Concurrency And Server-Side Networking APIs — Part 1
This article explores how a Sun Hotspot JVM behaves when accepting incoming TCP/IP socket connections. The behavior of native server programs–written in C–are also explored to better understand how concurrency can be achieved. Then, a comparison of how these runtime environments implement…
Threads, Threads Everywhere. And, Not a Needle In Sight
Several terms have been used liberally throughout articles on thinkmiddleware.com. A moment should be taken to formally define them. I am going to attempt to present these concepts in as generic a sense as possible, but the truth of the matter is, every OS has its own threading model and…
Generating Thread Dumps
Thread dumps are the basic diagnostic tool for JVMs. Thread dumps present a partial state of each Java thread in a running JVM. I say partial because it doesn’t present all information that captures the state of a Java thread. The state of a running Java thread is stored in a series of data…
Troubleshooting Deadlock Conditions With Monitor Locks In Java Virtual Machines
In this article, I wanted to present a brief tutorial regarding troubleshooting deadlock conditions in JVMs. Before one can troubleshoot a deadlock condition, one needs to understand what it is; to this end, I have written a simple Java program called DeadLock.java, which is guaranteed to very…
EJB vs. Web Services
This article is by no means an exhaustive discussion on the subject of Web Services and EJBs. But, I have often found many of the points I bring up here missing from meaningful debate. Researching this article also gave me an opportunity to go over material I've been wanting to read for a while now.
Performance Tuning In Industry
IT Professionals face an up hill battle in the realm of performance tuning. First, management must be convinced that time needs to be set aside for it. Next, the skill sets to successfully move through the performance tuning life cycle must be present. Then, the tools to effectively identify issues…
Masters Project Defense
On November 29, 2007, I gave my Masters Project Defense before Dr. Chris Gill, Dr. Cindy Grimm, and Dr. Roger Chamberlain. This is the presentation. I’m posting it here because it involved analyzing low-level details of a Sun JVM running JBoss 3.x.










