Optimize your Java applications performance
- You can download the source code
for the three different versions of the Meteor puzzle-solving program we
developed in this article. This zip file also contains the solution
viewer that allows you to visualize the found solutions.
- The recently released Java 2 Platform, Standard Edition version 1.4 introduces several performance-oriented features. "Merlin brings nonblocking I/O to the Java platform" (developerWorks, March 2002) describes one of these features: the new I/O API.
- "Improve the performance of your Java code" (developerWorks, May 2001) is an installment of Eric Allen's
Diagnosing Java code
series. In it, he discusses tail-recursive methods and some of the issues involved in optimizing them.
- Profiling tools can be a big help when exploring and visualizing the run-time behaviour of your program. "Jinsight: A tool for visualizing the execution of Java programs" (developerWorks,
November 1999) describes the use of one such tool (Jinsight), which was
developed at IBM's Research Division and is available for free.
Best Practice: String Concatenation with Java explains the well-known StringBuffer idiom. Another description of this technique can be found in the March 5, 2002, issue of
JDC Tech Tips
- The December 22, 2000, issue of
JDC Tech Tips
explains the use of the Java garbage collector. Techniques for
tracking and controlling memory allocation in Java programs are further
discussed in "Heap of trouble with the wrong heap size" (developerWorks, September 1999).
- If you are interested in learning more about the larger 209-piece Eternity puzzle and how it was solved, take a look at Prize specimens
by Mark Wainwright. It turns out that solving Eternity was quite a bit
harder than solving Meteor, like we did in this article. Further
information about the Eternity puzzle can also be found on the Eternity page.
- Find other Java programming resources on the developerWorks Java technology zone.
First published by IBM developerWorks