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
Some reader favorites:
EJB fundamentals and session beans
Create a scrollable virtual desktop in Swing
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
Free Download - 5 Minute Product Review. When slow equals Off: Manage the complexity of Web applications - Symphoniq
![]()
Free Download - 5 Minute Product Review. Realize the benefits of real user monitoring in less than an hour. - Symphoniq