Java Mobile, atau biasa dikenal dengan istilah J2ME (Java 2 MicroEdition) merupakan salah satu bagian dari paket pemrograman Java. Paket pemrograman Java untuk saat ini pada umumnya terbagi tiga, yaitu :

Java 2 Enterprise Edition (J2EE)
Paket ini digunakan pada hardware yang mempunyai spesifikasi dan memori yang besar seperti pada komputer server.

Java 2 Standard Edition (J2SE)
Paket J2SE digunakan pada komputer desktop.

Java 2 MicroEdition (J2ME)
Paket J2ME digunakan pada perangkat keras yang memiliki memori kecil seperti ponsel, PDA dan sebagainya.
J2ME merupakan superset (bagian) dari J2SE, karena itu tidak semua library yang ada pada J2SE dapat digunakan pada J2ME. Tetapi J2ME memiliki beberapa library khusus yang tidak dimiliki J2SE, yang berarti Java API yang ada di J2ME sebagian diadopsi dari Java API J2SE. Jika pada J2SE menggunakan JVM (Java Virtual Machine) sebagai Interprenter-nya, lain halnya pada J2ME yang menggunakan Kilo Virtual Machine (KVM) sebagai interpreternya.

Berdasarkan spesifikasi perangkat kerasnya, J2ME memiliki 2 macam konfigurasi yaitu CLDC (Connected Limited Device Configuration) dan CDC (Connected Device Configurations). Perbedaan tersebut dapat dilihat pada tabel berikut :

CLDC CDC
Mengimplementasikan sebagian fitur dari J2SE Mengimplementasikan seluruh fitur dari J2SE
Menggunakan KVM (Kilobyte Virtual Machine) Menggunakan CVM (C-Virtual Machine)
Digunakan pada handphone, PDA, pager yang memiliki memori terbatas (160-512 kb) Digunakan pada Internet TV, Nokia Communicator yang memiliki memori minimal 2MB
Prosesor 16 / 32 bit Prosesor 32 bit