How does Java Card differ from Java?

Julien SIMON

Massively. Both platforms are only similar in the sense that they use the Java language and run bytecode, but that’s about it. We don’t think that one can call Java Card a Java subset like one would do for J2ME. Java Card should rather be seen as a Java implementation targeted at smart cards:

  • The Java Card API is totally specific, except for a couple of downsized java.lang classes.
  • The Java Card Virtual Machine doesn’t support any of these features: dynamic class loading, bytecode verification, Security Manager, threads, garbage collection, JNI, etc. It’s not even able to process Java class files.
Still, if you know Java, you should pretty quickly feel comfortable with Java Card!