Update: Java FTP libraries benchmarked
FTP, or File Transfer Protocol, is the third most popular protocol over the Internet, right after HTTP (for Web browsing), and SMTP (for sending email). However, FTP is only partially supported in the JDK; complete support must be sought from third-party libraries available on the Internet. This article presents a comparison of the available libraries to help decision-makers choose a library that suits their specific needs. The evaluation weighs several criteria, including available features, licensing terms and commercial aspects, and file-transfer performances. Finally, the author suggests how to help forge the future of the Java platform with respect to FTP support.
Jean-pierre Norguet, March 2006

Into the mist of serialization myths
June 27, 2003
Vladimir Roubtsov, June 2003

What version is your Java code?
May 23, 2003
Vladimir Roubtsov, May 2003

Shirt-pocket Java: BlackBerry Java SDK
Research In Motion's (RIM) BlackBerry 5810 PDA features a Java development environment (JDE) that includes, for free, a Java editor/debugger, a 5810 hardware emulator, and its own JVM. While many Java developers will find programming for such a limited-memory environment unfamiliar, RIM also includes excellent documentation to get you started.
Tom Yager, June 2002

Hashtables
June 21, 2002
Tony Sintes, June 2002

Implement Design by Contract for Java using dynamic proxies
The Design by Contract (DBC) theory can dramatically raise software quality and reusability levels by forcing you to think in terms of contracts. Contracts formally specify the responsibility relationship between a client (class user) and a supplier (class). Additionally, DBC clearly separates specification (what) from implementation (how). This article explains DBC's importance in object-oriented development and describes a DBCProxy framework that achieves DBC transparently in Java using dynamic proxy classes.
Anders Eliasson, February 2002

Class System, making copies
February 15, 2002
Tony Sintes, February 2002

Java Tip 122: Beware of Java typesafe enumerations
The so-called typesafe enum construct has gained popularity since its increased coverage in several publications and admittance into the Sun JDK implementation. But be warned: this tip shows that the construct isn't as safe as you might believe.
Vladimir Roubtsov, January 2002

Valid identifiers
December 21, 2001
Tony Sintes, December 2001

Master Merlin's new I/O classes
The J2SE (Java 2 Platform, Standard Edition) 1.4 beta -- the Merlin release -- unleashes hundreds of new classes. This article walks you through some of the platform's new I/O (input/output) capabilities: nonblocking I/O, character conversion, memory-mapped files, and buffer management. Using Merlin's new I/O classes, we will build a Web server that handles thousands of connections with just three threads. (4,700 words)
Michael T. Nygard, September 2001

Sir, what is your preference?
J2SE 1.4 offers a number of new APIs to make your Java development life easier. In this article, Ray Djajadinata discusses one of those APIs: Preferences. He explains how Preferences solves typical problems in managing our applications' preferences, while still being simple and easy to use. (3,000 words)
Ray Djajadinata, August 2001

Device programming with MIDP, Part 3
In the final part of this MIDP series, Michael explores the methods of communication between the MIDlet and the world at large. Using the APIs contained in Java 2, Micro Edition's Mobile Information Device Profile (MIDP), developers can interact with external systems. This article will explore these APIs in a detailed example, which demonstrates the interaction that can exist between a J2ME device and a servlet-based Web system. (3,000 words)
Michael Cymerman, July 2001

Java Tip 112: Improve tokenization of information-rich strings
In this article, you'll take advantage of the commonly used StringTokenizer class to perform better tokenization of complicated and information-rich strings.
Bhabani Padhi, June 2001

Savor success with Java on the front end
Java architects and managers face the challenge of choosing among Swing-based, HTML-based, and XML-based front ends for their applications. In this article, Alex Kalinovsky shares his experiences with these three technologies, and provides criteria and tips for choosing among them in your Java development. Finally, you'll learn an innovative approach that bridges Java Swing and HTML with minimal effort. (3,900 words)
Alex Kalinovsky, April 2001

Manage distributed sessions
Using RMI and the Proxy API introduced in JDK 1.3, this article describes a technique that allows one or more servlet servers to maintain session information on one or more session servers. By adopting this architecture, no single point of failure will exist for session management. (2,700 words)
Kelly Davis and Robert Di Marco, April 2001

All

Wizard API updated!
Tim Boudreau has released a new version of the Swing Wizard library (version 0.997) that fixes the WizardException bug reported in JavaWorld's recent Open Source Java Project profile. The article's examples have been reworked to test out the new, improved WizardException. Thanks, Tim, for this helpful fix!
Open Source Java Projects: The Wizard API

Newsletter sign-up

Sign up for our technology specific newsletters.

Enterprise Java
View all newsletters

Email Address: