HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML

Is PersonalJava part of J2ME?
The short answer is yes. For the long answer, we'll refer to Sun's FAQ for J2ME, which states that PersonalJava was the "first Micro Edition technology." Because PersonalJava has been around for a while now, you'll find more products with a version of it installed. But sometime this year (2001), Sun is expected to replace the existing PersonalJava technology - based on Java 1.1 - with a new release based upon Java 2, and incorporated into the J2ME concepts of Configuration and Profile components.

Is all the Java API within J2ME?
No. Even PersonalJava - which has the most complete coverage of the Standard Edition API - is still just a subset.

What is a "midlet"?
Actually, the correct word is MIDlet. A MIDlet is an application written for MIDP (the Mobile Information Device Profile). You might find these on mobile phones, PDAs - in general, small devices.

Can I use threads? Is there a penalty?
Yes, you can use threads, unless you're writing a JavaCard applet. As for the penalties, it very much depends upon how you want to use them, and the environment you are working within. When developing for constrained devices, you always have to keep the resources you have available in the back of your mind. If you're writing a MIDlet, and create 100 threads to try to load 100 images simultaneously, then there definitely will be a penalty - it undoubtedly won't work.

Do I use AWT or Swing for my GUI?
If you're developing a PersonalJava application, then you have access to a modified version of AWT - "modified" meaning that a few java.awt classes/methods are optional, that some have been changed, and that there are some additions to the basic package. You may be able to get Swing to work within a PersonalJava environment as well. A brief skim of the PersonalJava forums show some success stories - and more than a few painful attempts. None of the other J2ME "products" support AWT or Swing (for example, MIDP has the javax.microedition.lcdui package, for user interfaces).

Where can I find more information about wireless technologies?
The back issues of JDJ are one place you can look. For online information, you can look at the following URLs:

  1. http://developer.java.sun.com/developer/products/wireless/
  2. Bill Day's J2ME archive: www.billday.com/j2me/
  3. Sun's Wireless forums: http://forum.java.sun.com/

Where can I download J2ME emulators?
The J2ME Wireless Toolkit: http://java.sun.com/products/j2mewtoolkit/download.html To download the MIDP reference implementation on this page: http://java.sun.com/products/midp/ CLDC : www.sun.com/software/communitysource/j2me/cldc/download.html CDC (and the Foundation profile): www.sun.com/software/communitysource/j2me/cdc/download.html

Where can I find devices that run J2ME?
Move to another country. At the moment, there are a limited number of countries where J2ME capable devices have been released - especially for mobile phones. While you can probably find PDAs that support PersonalJava almost anywhere in the world, the same is not true for mobiles.

In Japan, NTT DoCoMo has a number of phones from Panasonic, Fujitsu, Sony, and others (only available in Japan, of course). In the U.S., Motorola has a couple of J2ME capable mobiles. For a more comprehensive list, check out www.javamobiles.com/

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.