Programski vmesnik aplikacije Java Card™ je platforma, zasnovana za ustvarjanje aplikacij za pametne kartice in naprave s pametnimi karticami. Poleg programiranja, povezanega s pametnimi karticami, je Java Card™ zelo primerna za ustvarjanje aplikacij na široki paleti naprav z majhnim odtisom in malo pomnilnika, kot so nekatere vrste mobilnih telefonov. Te majhne aplikacije delujejo zelo podobno kot večji programi Java®; navidezni stroj vzpostavi osnovno okolje, nato pa se v njem zažene koda Java®. Edina prava razlika med standardno Javo® in sistemom Java Card™ je velikost in nekaj funkcij, ki jih je treba še implementirati.
Java Card™ je prvotno prišla na trg leta 1996. Takrat je bila tehnologija edina uporaba v sistemih, ki temeljijo na pametnih karticah. Sčasoma se je povečalo število majhnih računalniških platform. Zdaj se ta sistem uporablja na številnih napravah, ki delujejo z omejitvami platforme, podobnimi sistemu pametnih kartic.
Jezik je primeren za okolje, ki ima zelo omejen pomnilnik in procesorsko moč. Večina sistemov pametnih kartic uporablja fiksno okolje; izven posebne opreme je zelo težko spraviti program na kartico ali iz nje. Ta okolja so pogosto izjemno omejena v smislu razpoložljivih virov, zaradi česar se jezik popolnoma prilega.
Najpogostejša sekundarna lokacija za Java Card™ je na mobilnih telefonih. Večina sodobnih pametnih telefonov ima dejansko dovolj pomnilnika in moči za uporabo naprednejših platform Java®, zato so sistemi kartic pogosto omejeni na starejše pametne telefone ali pametne telefone. Majhen izbor drugih naprav uporablja tehnologijo Java Card™, večinoma tiste, ki uporabljajo dodatne kartice ali pomnilniške kartice za dodatno programiranje.
Večina sistemov Java® deluje na enak način, ne glede na predvideno platformo ali celotno velikost. Navidezni stroj ustvari emulirano okolje na ciljni napravi. Program Java® teče v tem okolju brez upoštevanja dejanske strojne opreme sistema. Namestitev navideznega stroja je na vsaki platformi drugačna, notranje delovanje pa ne. Posledično je mogoče zagnati isto aplikacijo na številnih računalnikih ali napravah brez pretvorbe.
Glavna cilja jezika Java Card™ sta združljivost in varnost. Ta jezik je zasnovan tako, da je združljiv s skoraj vsako napravo, ki ga želi uporabljati. To se običajno izvaja prek individualno kodiranih virtualnih strojev. Ko navidezni stroj za strojno opremo deluje, je aplikacije relativno enostavno prenesti.
Drugi glavni poudarek je ustvarjanje varnega programa in platforme. Ker pametni sistemi pogosto vsebujejo občutljive informacije, ima jezik široko paleto metod za zaščito teh informacij, medtem ko so v uporabi. Te metode segajo od notranjih požarnih zidov aplikacij do več oblik šifriranja.