It's not a secret anymore!*
The moose likes Java Micro Edition and the fly likes PersonalJava and EmbeddedJava... Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Mobile » Java Micro Edition
Bookmark "PersonalJava and EmbeddedJava..." Watch "PersonalJava and EmbeddedJava..." New topic

PersonalJava and EmbeddedJava...

Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
...what are they, and what's the difference?
Kavita Ghia
Ranch Hand

Joined: Oct 10, 2000
Posts: 91
The PersonalJava and EmbeddedJava vary on the basis of the task they perform and the API they use.
There was a time when two Java APIs served the embedded world:
1)PersonalJava and
The PersonalJava FAQ described the PersonalJava application environment as being targeted at Web-connected consumer devices that "are often executing applets from a network." Therfore it follows that an aplication is expected to be connected to some form of network for downloading and executing applets.Their devices are general-purpose consumer devices in that sense;their capabilities can be extended.
In contrast, EmbeddedJava devices are dedicated. The functions they perform are very specific, so there's little need to provide a capability for downloading new code to an EmbeddedJava device. Hence, PersonalJava devices expose an extendible Java API;EmbeddedJava devices�having no need for such a device�don't.
I hope this shall satisfy your query.
A Java Ranch folk,
Eric Giguere
Ranch Hand

Joined: Oct 25, 2000
Posts: 170
This one often confuses people. Let me explain it for you:
1) PersonalJava is now becoming a J2ME profile based on the Connected Device Configuration (CDC). It's basically a stripped down version of J2SE with a few optional pieces. It's aimed at higher-end devices.
2) EmbeddedJava is a version of Java where everything is optional. A vendor licenses it from Sun to put Java support in their devices, but sign agreements that prevent them from exposing any of that Java to third-party developers. In other words, the Java can only be used internally by their own developers, which is why they can strip out the unnecessary parts. If at any point they want to expose Java to the outside world then they have to become a regular licensee and use one of the "normal" Java implementations, either J2ME or J2SE as appropriate. Then they don't have the option of stripping things out. So EmbeddedJava is strictly for "black box" implementations.

Eric Giguere
author of:
Java 2 Micro Edition : A Professional Developer's Guide
PalmTM Database Programming: The Complete Developer's Guide

Eric Giguere
Author/Co-Author of: Mobile Information Device Profile for Java 2 Micro Edition: Professional Developer's Guide, Java 2 Micro Edition: Professional Developer's Guide and PalmTM Database Programming: The Complete Developer's Guide
Don't get me started about those stupid light bulbs.
subject: PersonalJava and EmbeddedJava...