Early in the interview, Janice asked Kirk: "What misconceptions do you encounter among developers about performance tuning?"
Kirk's response wasn't what I would have expected. He answered:
Here's a major one: All developers believe they are good at performance tuning. They might be very good at writing performance code, and they might be very good at coding, but generally I find that most developers are not very good at performance tuning.
How can this be?
When developers are put in situations where they are asked to performance tune, they typically look at code and take some action. But they invariably forget the dynamics of the system. If you don't include the dynamics of the system when you performance tune or if you think you understand the dynamics of the system and guess wildly wrong - which is quite often the case - you end up doing the wrong thing, which frequently happens.
Kirk notes that software testers tend to be more successful when it comes to performance tuning than most developers, because they are more accustomed to working within a defined process.
Toward the end of the interview, Janice brings up the cloud:
As we move toward an era of cloud computing, what should Java developers understand about performance tuning? What scaling problems must developers address these days?
From his response, I think we know which choice Kirk would select in our current poll, which asks What's you opinion of 'the Cloud'? Kirk answered:
Cloud computing doesn't look that different from large data centers, which people have been trying to deal with for a long time.
While there are some problems that are peculiar to cloud computing today, I don't think they will be problems for a long time. Everyone knows that virtualization of the network is problematic. People are working hard to find ways to eliminate the problem.
There's a lot more interesting material in Janice's interview with Kirk. Read the complete interview, and you'll see what I mean.
At the JVM Languages Summit, Josh Bloch expressed his concern about what he called the "semantic gap" between the source code we write and its performance at runtime: As performance improves, our ability to predict the performance consequences of our source code degrades...
Download the shoal library bundle shoal-gms-1.1.zip and sources and javadocs. Shoal 1.1, the latest release of the Java based dynamic clustering framework, contains a number of features and bug fixes that significantly improve clustering reliability, and scalability for your applications. See below for a list of Enhancements and Bug Fixes...
There's a lot of interest in creating GUI editors via the Visual Library. So I'm creating a small example that will show how to do that. The palette is filled with JavaBeans that are registered in the layer, meaning that the editor is extensible via the System FileSystem. When a palette item is dropped, a BeanNode wraps the JavaBean and displays its BeanInfo in the Property Sheet, where it can be edited and changes are applied immediately...
During my last years before getting the master degree, I have been working at a free flight simulator. It run under DOS and was named FGFLY. It was written in C++, initially Borland C++ and later Watcom C++, in order to use a memory extender to bypass the infamous 640k limit. At the time I just was a student able to earn a few money with programming, and couldn't allow to spend a lot in hardware - so my computer was never at the leading edge; I remember that compiling the whole project took more than one hour...
While I am in Sydney for the next Sydney Java Power Tools Bootcamp, I will be running a Java Coding Dojo, to be held in the Atlassian offices between 5:30 and 7:00pm on the 21st of October. This is a free event, open to anyone who want to do a little recreational coding. I will also be running the inaugural session of the Wellington Java Coding Dojo on October 14, at a to-be-announced mysterious location (somewhere in Wellington, though)...
In the Forums, hatemalimam asks about Glassfish DNS Management ??: "Hi , I have to web applications (2 wars).... and I have one physical Server with on Public IP lets say for example : 11.11.11.11. How can I host those to web application on one public IP . I can host only..."
chaoslayer has a question regarding domain.xml - DTD/XSD: "Hi there, simple question: where is the correct DTD and/or XSD for the domain.xml of current glassfish v3 preview builds? The only ones I could find reside in lib/dtd and are completely outdated and doesn't match what is being..."
And Mark Streit has an issue with Exceptions/FaultBeans and generated classes - wsimport: "I have question re: *wsimport* behavior and the classes it generates as it relates to Exceptions. I am familiar w/ the article..."
Our current Spotlight is the new Janice Heiss interview with "Java Champion Kirk Pepperdine on Performance Tuning and Cloud Computing": "java.sun.com (JSC): In your talks, you always warn developers that they must carefully evaluate any generic advice that you provide to see if it applies to a particular situation. Why is this so important? Pepperdine: While I do give generic advice, I carefully explain that people have to evaluate it to see if it will work. I am giving advice in a vacuum, so what may work for many people most of the time may be very detrimental in other contexts. I don't know in advance what specific problem someone is working on..."
Our Feature Articles include Jeff Lowery's A Finite State Machine Supporting Concurrent States, which demonstrates how Java enums and EnumSets can be used as a basis to define and validate application states and state transitions. We're also featuring Jeff Friesen's article Introducing Custom Paints to JavaFX, which shows how you can leverage undocumented JavaFX capabilities to support custom paints in JavaFX Version 1.2.
Registered users can submit event listings for the java.net Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.
Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of java.net it will be archived along with other past issues in the java.net Archive.