En informàtica, la plataforma Java Micro Edition (en anglès, Java Platform, Micro Edition), també coneguda com a Java ME, és una especificació subconjunt de la plataforma Java creada per tal de proporcionar d'una col·lecció d'API per al desenvolupament de programes per a dispositius mòbils amb pocs recursos. Sovint també és coneguda pel seu antic nom: Java 2 Platform, Micro Edition (J2ME)
Java ME va ser dissenyat per Sun Microsystems com a reemplaçament de PersonalJava. Inicialment J2ME va ser desenvolupat per la Java Community Process amb el seu corresponent document formal (Java Specification Request - JSR 68).
El 22 de desembre de 2006, el codi font de Java ME va ser alliberat sota la llicència GNU General Public License. El nom del projecte és phoneME.
Màquina virtual: La màquina virtual Java adaptada a les característiques dels dispositius mòbils
Conjunt d'API per al suport d'aplicacions que són compartides pel conjunt de dispositius que suporten la configuració
Perfils: és un conjunt d'API de més alt nivell que les proporcionades per les configuracions, que proporcionen suport per al desenvolupament d'aplicacions (cicles de vida, interfícies d'usuari, capacitats de connexió, etc.) en dispositius mòbils. Cada perfil està dissenyat per a una configuració concreta.
Paquets opcionals: Són paquets opcionals de programari que permeten estendre les capacitats de les aplicacions Java ME.
La màquina virtual és la capa més baixa de l'arquitectura Java ME i, per tant, és la més propera al maquinari. A diferència del que succeeix en ordinadors personals, les màquines virtuals en dispositius mòbils venen proporcionades pel fabricant del dispositiu, és a dir, estan incorporades en el dispositiu.
En Java ME, ens trobem amb 2 màquines virtuals principals, segons el tipus de configuració:
CLDC: KVM és una màquina virtual per a dispositius MID amb recursos limitats. Es tracta d'una versió reduïda de la JVM.
El perfil Information Module Profile (definit al JSR 195) està dissenyat per a màquines d'auto-vending, targetes de xarxa, encaminadors o altres dispositius amb una pantalla molt simple o sense pantalla i que tenen connexió limitada a xarxa.
Els creadors d'aquesta especificació van ser Siemens Mobile i Nokia.
Suport per a interfícies gràfiques d'usuari lleugeres. Suporta algunes classes de AWT, però no tots els Widgets. Per exemple no suporta java.awt.Button perquè aquest tipus de widget pressuposa que es disposa d'un dispositiu punter com un ratolí.