DoJa (DoCoMo Java) est un " profil J2ME " spécifié par DoCoMo pour ses terminaux i-mode. Son API tire en particulier parti de l'écran couleur, des sonneries polyphoniques et de la connectivité de ces téléphones.
DoJa est l'équivalent de MIDP développé par SUN et présent sur les téléphones mobiles WAP.
Un des avantages important de DoJa par rapport à MIDP est qu'il est sensiblement plus aisé pour le développeur de porter ses applications DoJa d'un téléphone i-mode à un autre, car le comportement de DoJa est plus homogène entre les différents téléphones.
Défini par NTT Docomo avant la finalisation de la norme MIDP afin de pouvoir lancer ses téléphones i-mode nouvelle génération au Japon, DoJa existe en de nombreuses versions:
""Au Japon"" DoJa 1.0, 2.0, 3.0, 4.0
""Ailleurs"" (aussi appelé DoJa Overseas Edition) DoJa 1.5 et DoJa 2.5
Les applications DoJa 1.5 et DoJa 2.5 sont fournies sous la forme d'un fichier Jar ne devant pas dépasser les 30 kb. Il est néanmoins possible d'utiliser une mémoire persistante pour stocker des ressources (graphiques, sons etc.) appelée Scratchpad. Le scratchpad fait en général 100 kb, mais peut parfois faire 200 kb dans le cas d'un téléphone disposant d'un grand écran (ex: Mitsubishi M430i et son écran de 240*270 pixels). Bien que contrairement à MIDP, le support d'Http soit toujours disponible et fonctionnel en DoJa, il est impossible d'effectuer une requête de plus de 10 kb en réception. (cette limite est différente pour certains mobiles 1.5 et l'ensemble des mobiles 2.5).