Java ME

Java Platform, Micro Edition eli Java ME (edelliseltä nimeltään J2ME) on Sun Microsystemsin kehittämän Java-teknologian kevyehkö sovellusympäristö, joka on tarkoitettu sulautettujen ja ominaisuuksiltaan rajoitettujen laitteiden ohjelmointiin. Java SE -alustaan verrattuna yksi ohjelmoijan näkökulmasta merkittävimmistä eroista on Java ME:n rajoittuneemmat luokkakirjastot. Java ME on muutenkin supistettu pitäen mielessä resurssien rajoittuneisuus, joten esimerkiksi matkapuhelimien pelejä ohjelmoitaessa otetaan huomioon näytön ja näppäimistön rajoitukset.

Konfiguraatiot 

Java ME on jaettu laitteiden suhteen kahteen konfiguraatioon. CDC () on tarkoitettu verkkoon kytketyille laitteille, kuten jääkaapeille, televisioille, kommunikaattoreille. CLDC () on tarkoitettu vielä rajoittuneemmille laitteille, kuten matkapuhelimille, kämmenmikroille jne.

Eräs huomionarvoinen seikka on, että CLDC 1.0 ei vaadi laitteistolta tukea liukuluvuille. CLDC 1.1 tuo kuitenkin ne ohjelmoijan käyttöön.

Profiilit 

Java ME tukee niin kutsuttuja profiileja, joilla mahdollistetaan ohjelmointi tietynlaisille laitteille niin, että ne toimivat kaikissa kyseisen profiilin alaisissa laitteissa. Tällaisia profiileja ovat esimerkiksi MIDP (), jota käytettäessä sovellukset ovat teoriassa ajettavissa kaikissa sitä tukevissa matkapuhelimissa.

MIDP 

 MIDP 1.0 (2000)
 MIDP 2.0 (2002)
 MIDP 3.0 (2009)

Useissa Nokian puhelimissa on käytetty MIDP-profiiliversioita 2.0 ja 2.1.

Virtuaalikone 

Java ME -sovellukset (kuten Java SE) vaativat toimiakseen virtuaalikoneen. KVM (Kilo Virtual Machine) on Sunin virtuaalikone CLDC:n ja MIDP:n alle. KVM on kooltaan erittäin pieni, alle 100 kilotavun kokoinen virtuaalikone, ja siksi omiaan juuri Java ME:n kanssa käytettäväksi. Nimenomaan pienen kokonsa vuoksi Sun antoi virtuaalikoneelleen "etuliitteen" Kilo.

Turvallisuus 

Turvallisuus on Java ME:ssäkin tärkeä asia. Vaikka Java SE sisältää hyvät turvaominaisuudet, ovat ne aivan liian raskaat Java ME:ssä käytettäviksi. Turvallisuusominaisuuksien pääpiirteisiin kuuluu niin sanottu "hiekkalaatikko", jossa ohjelmia ajetaan. Näin estetään ohjelmien pääsy tämän rajauksen ulkopuolisiin ominaisuuksiin, kuten esimerkiksi matkapuhelimissa GSM-koodekkiin. Tämän lisäksi kaikista suoritettavista luokista tarkistetaan, että ne ovat oikeaoppisesti toteutettuja. Sovellukset eivät voi myöskään viitata oman muistialueensa ulkopuolelle.

Aiheesta muualla 
 Java 2 Platform, Micro Edition (J2ME) 
 J2ME device database and multi-device porting framework 

Java