Java Card technology allows Java-based applications to run securely on smart cards. A Java Card is a programmable smart card that supports running multiple applications using the Java programming language. Java Card applications are compiled to CAP files that are verified and installed on the card. Java Card provides features like inheritance and object orientation while limiting capabilities like dynamic class loading for security. Java Cards are used in various applications including banking, transportation and mobile phones.