Java Card is a software technology that allows Java-based applications to be run securely on smart cards.
The Java Card 2.0 specification contains detailed information for building the Java Card virtual machine and application programming interface (API) in smart cards
Java Card addresses the hardware fragmentation and specificities while retaining code portability brought forward by Java.