Sun Java Solaris Communities My SDN Account Join SDN
 
Developer Technical Articles & Tips

Articles: Programming & Debugging

 

Articles Index

Articles here are not about a specific API, but span several APIs or cover general programming techniques, such as debugging or performance tuning.

The Multi-Tasking Virtual Machine: Building a Highly Scalable JVM by Janice J. Heiss
Sun Microsystems Laboratories' Multi-Tasking Virtual Machine, a general-purpose virtual machine for executing multiple applications written in the Java language, promises to improve the well-being of Java programs. (March 2005)

HPROF: A Heap/CPU Profiling Tool in J2SE 5.0 by Kelly O'Hair
Having performance problems with your Java Application? Using too much Java heap space and don't know why? Sometimes simple software tools are all that's needed. (November 2004)

The JVMPI Transition to JVMTI by Kelly O'Hair
Have you ever heard about or used JVMPI? Are you aware that the JVMPI interface has always been experimental and is being replaced with JVMTI?
This article describes the basics of converting JVMPI agents into JVMTI agents, and provides some good tips on problems to avoid and techniques to use with JVMTI. (July 2004)

Who's the Best Coder? by Jon Byous
Developers will compete to see who's the best coder, at the JavaOne Coding Challenge. (June 2004)

Garbage Collection (GC) Analysis and Performance Tuning Using the GC Portal by Alka Gupta
Newly updated to include software for Linux and the Java Desktop System (JDS) and integrate VisualGC, GC Portal is a one-stop page for GC issues and includes an extensive and useful collection of whitepapers, case studies and other material for the developer's perusal. Learn how to get it and how to use it here. (May 2004)

Keeping Those Links Up-to-Date by Dr. Matthias Laux
Blogs are an improvement over browser bookmarking, but the problem of link death is perennial. In this hands-on article, you'll learn about three brand-new, original tools for storing, monitoring, and updating links, using a database and the Velocity template engine. (September 2003)

Futurama: Using Java Technology to Build Robots That Can See, Hear Speak, and Move by Steve Meloan
It's not just science fiction anymore -- intelligent robots are here. This article takes you behind the scenes with a peek at the latest in Java robotics technology. (July 2003)

Using JVMPI to Identify Large Memory Allocations by Kim Levesque
This article shows how the Java Virtual Machine Profiling Interface's "profiling agent" identifies large memory allocations. (May 2003)

TopCoder, the premier competition for college-age coders, has just crowned a new winner. Final test questions included! (April 2003)

Improving Java Application Performance and Scalability by Reducing Garbage Collection Times and Sizing Memory Using JDK 1.4.1 by Nagendra Nagarajayya and J. Steven Mayer
New Parallel and Concurrent Collectors for Low Pause and Throughput applications (November 2002)

Turbo-charging Java HotSpot Virtual Machine, v1.4.x to Improve the Performance and Scalability of Application Servers by Alka Gupta and Michael Doyle
Learn how to turbo-charge JVM 1.4.x to get the best performance out of your applications with regards to garbage collection. (November 2002)

Deploying Software with JNLP and Java Web Start: Going Beyond the Java Plug-in by John Zukowski
Learn how to use Java Web Start and JNLP to build and deploy cross-platform, client-side applications. (August 2002)

Simple syslogd Message Logging Utility Classes by Rajesh Ramchandani
This tool describes the simplest utility classes that can be used in a distributed application environment to log debugging messages to a syslog server. It highlights the use of severity levels and logging facilities that can be used in various error environments to assist debugging of Java platform clients. The SysLogger utility class source provided here is an example of using the syslog facility. (June 2002)

Simple syslogd Message Logging Utility Classes by Rajesh Ramchandani
This tool describes the simplest utility classes that can be used in a distributed application environment to log debugging messages to a syslog server. It highlights the use of severity levels and logging facilities that can be used in various error environments to assist debugging of Java platform clients. The SysLogger utility class source provided here is an example of using the syslog facility. (June 2002)

I Can't Understand Why My Method Call is Ambiguous by Amanda Waite
This article helps programmers and designers to better understand the reasons why the compiler finds ambiguities, and to describe the ways in which they can be resolved. (April 2002)

Compressing and Decompressing Data using Java by Qusay H. Mahmoud
Learn about the APIs that you can use to compress and decompress data from within your applications. (February 2002)

Exceptional Practices, Part 2 by Brian Goetz; - Release 1.4, Reprinted from JavaWorld
Learn to use exception chaining to preserve important debugging information. (October 2001)

Exceptional Practices, Part 1 by Brian Goetz; Reprinted from JavaWorld
Learn the best practices for using exceptions effectively, and follow guidelines on properly incorporating error handling into classes at design time. (August 2001)

Improve Tokenization of Information-Rich Strings by Bhabani Padhi; Reprinted from JavaWorld
This article explains how to take advantage of the commonly used StringTokenizer class to perform better tokenization of complicated and information-rich strings. (July 2001)

Embed Java Code into Your Native Apps by Thierry Manfe; Reprinted from JavaWorld
Embedding Java code into a Unix application developed in C or C++ can create problems related to GUIs or threads synchronization. This article provides a solution that relies on a good understanding of the Unix APIs and robust software architecture. (May 2001)

Design for Performance, Part 2: Reduce object creation by Brian Goetz; Reprinted from JavaWorld
How to avoid performance hazards and at design time, and learn techniques to reduce temporary object creation. (March 2001)

Creating a Threaded Slide Show Applet by Monica Pawlan.
Learn multi-threaded programming basics by examining the code for a multi-threaded slide show applet. (March 13, 2001)

A Test of Java Virtual Machine Performance by Ed Ort
This article presents the results of a test that compared the performance of a Java application running in different Java virtual machine1 implementations. (March   2001)

When is a Singleton Not a Singleton? by Joshua Fox; Reprinted from JavaWorld
This article describes why and how to implement Singletons, and how to avoid the common pitfalls. (January   2001)

Java Technology on the Linux Platform: A Guide to Getting Started by Calvin Austin — Release Java 2, version 1.3 for Linux
Get a head start on developing with the Java 2 Platform for Linux by taking advantage of the tips and techniques presented in this article. (October   2000)

Discover the Secrets of the Java Serialization API by Todd Greanier; Reprinted from JavaWorld — Release Java 2
This article examines how to persist Java objects, starting with the basics and proceeding to the more advanced concepts. (July   2000)

Deployathon by MDE Enterprise Java APIs Team — Release Java 2
A sample application of Enterprise JavaBeans (EJB) component portability, showing how EJB components run unchanged in different EJB servers, and validating the promise of "Write once, run anywhere." This application, originally demonstrated at JavaOne 1999, is now available for download! (February   2000)

Duke's Bakery - A JDBC Order Entry Prototype - Part I by Michael Meloan — Release Java 2
The story behind a rapid prototype project that uses SQL commands and the JDBC API. This article covers the definition of database tables, use of Swing components, a detailed code walkthrough. (December   1999)

Testing and Java Technology by Steve Meloan
A neglected but important topic! The ins and outs of the software-testing world--the barometrics, procedures, tool types, and the special needs of testing in the cross-platform/multidevice realms of Java technology. (November 1999)

PerfAnal: A Performance Analysis Tool by Nathan Meyers
A free graphical tool, built on the Java 2 Platform's hprof profiler, to help you understand where your code is really spending its time. This article explains how. (March 09, 00)

Tuning Java I/O Performance by Glen McCluskey — Release Java 2
Learn how to improve performance by tuning disk file I/O, network I/O, window output, and more. (March 1999)

Getting Started with Java 2: Tools and Configuration by Steve Meloan — Release Java 2
Transitioning to the Java 2 platform? This article details the changes, including tools, setup, and system configuration. (December 1998)

Turning an Applet into a Standalone Application by Tony Squier
If you've ever wondered about the differences between an applet and an application, and how to convert one to the other, then this article along with its sample code answers those questions. (July 1998)

An Introduction to Java Stack Traces by Calvin Austin — Release JDK 1.1
This article shows you step-by-step how to recognize and collect clues from a Java stack trace. (July 1998)

Object Persistence and Distribution by Jim Coker — Release JDK 1.1
Explains the basics of serialization, the new Remote Methods Interface (RMI) and how you can use it to handle objects in a distributed environment. (February 1997)

Keeping Objects in Sync by Jim Coker — Release JDK 1.1
This article discusses the use of the Observable class, and the Observer interface, and shows how to solve some potential problems along the way. (February 1997)

The Experts Talk: Thirteen Great Ways to Increase Java Performance by Kevin Kluge, JavaSoft — Release JDK 1.1
What do JavaSoft's own developers have to say about increasing Java performance? Here are their personal tips and tricks. (February 1997)

Java Objects are Conscious by Terence Par — Release JDK 1.0.2
A description of how Java promotes considerable type flexibility and reusability when referring to data elements, as well as when creating data elements. (December 1996)

To Top

1 As used on this web site, the terms "Java virtual machine" or "JVM" mean a virtual machine for the Java platform.