Enabling the Wireless Enterprise
Search:
Locator+ Code:
FTPOnline Channels Hot Topics Partner Sites Magazines About FTP RSS 2.0 Feed


email article
printer friendly

Deliver Big Functionality on Small Devices
Want to put some Java in your hand? The choices have never been more numerous
by Rick Grehan

Posted July 25, 2002

Up there on the clustered server systems, Java 2 Enterprise Edition (J2EE) is spreading its complex of Java tentacles across OSes and hardware platforms, where words describing speed and space begin with the prefix "giga." But Java is also active in smaller arenas; platforms and processors where the prefix for speed and space is "mega"—and sometimes only "kilo." It's the land of the smartphone, the pocket PC, the handheld, and the pager. Here, Java is incarnate in Java 2 Micro Edition (J2ME)—specifically, the Connected Limited Device Configuration (CLDC) and the Connected Device Configuration (CDC)—as well as the pre-J2ME PersonalJava.

Java virtual machines (VMs) that live in the desert of processor power and memory real estate found on small devices must be adapted to limited resources. The adaptation is necessary if Java is to hop that big mobile-computing train that everyone tells us is about to pull out of the station. Faced with Java's slower-than-native interpreted execution and the overhead of the VM (even the slimmed-down CLDC/MIDP [Mobile information Device Profile] environment), developers of small-device Java VMs are wielding a series of magic tricks.

To deal with the cramped memory, many companies that market handheld VMs provide tools that employ predeployment filtration to locate and strip unused classes, methods, and fields out of the target classfiles. Some handheld VMs outfit themselves with memory management systems that permit not only the heap to grow and shrink, but system and virtual machine stacks, as well.

To battle speed issues, some handheld Java VMs expect classfiles to be precompiled to native code. Still other VMs incorporate a kind of small-footprint just-in-time (JIT) compiler that—amazingly—runs right on the mobile device. These are not full-blown JIT compilers in the same sense as the HotSpot JIT. Rather, handheld JIT compilers are more selective about which pieces of code they compile and are aware that available memory is often measured in kilobytes, not megabytes.

This overview discusses the Java VMs available for handheld devices such as the Palm and PocketPC (Windows CE) machines. Most of the VMs provide either PersonalJava or CLDC environments; almost all are accompanied by additional deployment tools. Note that this is a stage whose performances and actors come and go quickly. We encourage readers to visit the companies' Web sites for the latest information on the compliance and capabilities of each of the VMs listed.



Back to top




Sponsored Links







Java Pro | Visual Studio Magazine | Windows Server System Magazine
.NET Magazine | Enterprise Architect | XML & Web Services Magazine
| | Discussions | Newsletters | FTP Home