J2ME的設計應該說是眾多頂級工程師的結晶,她被設計的非常靈活。在J2ME中非常重要的兩個概念是Configuration和PRofile。Configuration是支持最大范圍設備的最小的平臺,在這一層還包括了Java虛擬機。Profile是針對特定的設備提供相應的開發包集合。另外針對某些設備特有的功能特性,J2ME還推出了Optional Profile的概念。比如Mobile Media API。
Mobile information Device Profile位于CLDC之上,在CLDC規范制定出來后并沒有引起開發者的廣泛注重,市場也沒有因此而發生變化。原因是CLDC中并沒有提供圖形用戶界面編程的接口,這樣應用程序就沒有和用戶交互的能力了。MIDP1.0的推出受到了開發者的廣泛關注,在MIDP1.0中提出了一種新的應用程序模型MIDlet,開發者還可以用MIDP中提供的javax.microedtion.lcdui包開發圖形用戶界面程序,用MIDP1.0的子系統Record Management System進行數據的持久性操作,借助于CLDC中提供的Generic Connection Framework的聯網能力可以通過HTTP協議訪問Web服務器,J2ME幾乎無所不能。
為了彌補這些不足,SUN在隨后的MIDP2.0中推出了MMAPI的一個子集來解決聲音處理的不足,并設計了一個獨立的游戲開發包javax.microedition.lcdui.game用于游戲開發,還對push、socket聯網等特性提供了支持。 在JSR185中更是推出Java Technology for the Wireless Industry使得規范更加嚴格,提高了應用程序的兼容性。不僅如此,J2ME中的可選包更是各顯神通,Bluetooth API,Sip API for J2ME和Mobile 3D Graphics都提供了非常強大的功能。