Q: Is PersonalJava part of J2ME?
A: 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 on Java 2, and incorporate it into the J2ME concepts of configuration and profile components.
Q: Is all the Java API within J2ME?
A: No. Even PersonalJava, which has the most complete coverage of the Standard Edition API, is still just a subset.
Q: What is a "midlet"?
A: Actually, the correct word is MIDlet. A MIDlet is an application written for the Mobile Information Device Profile (MIDP). You might find these on mobile phones, PDAs - in general, small devices.
Q: Can I use threads? Is there a penalty?
A: Yes you can use threads, unless you're writing a JavaCard applet. As for the penalties, it depends on how you want to use them and the environment you're working within. When developing for constrained devices always remember what resources you have available. If you're writing a MIDlet and create 100 threads to try to load 100 images simultaneously, there definitely will be a penalty - it undoubtedly won't work.
Q: Do I use AWT or Swing for my GUI?
A: If you're developing a PersonalJava application, you have access to a modified version of AWT; "modified" meaning that a few java.awt classes/methods are optional, some have been changed, and 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 shows 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).
Q: Where can I find more information about wireless technologies?
Bill Day's J2ME archive:
Sun's PersonalJava forum: http://forum.java.sun.com/wireless/
Sun's KVM forum: http://forum.java.sun.com/wireless/
A: The back issues of JDJ are one place. For online information, check out the following URLs:
Q: Where can I download J2ME emulators?
The J2ME Wireless Toolkit: http://java.sun.com/products/j2mewtoolkit/download.html.
The MIDP reference implementation: http://java.sun.com/products/midp/
CDC (and the Foundation profile):
A: You can download from the following Web sites:
Q: Where can I find devices that run J2ME?
A: 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 (available only 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/.