Java Micro Edition (JME): Java v mobilních aplikacích
největší český portál o programování v JME
Domů > Connected Limited Device Configuration

Connected Limited Device Configuration

Publikováno 26. 09. 2010, napsal Jakub Pavlík, komentáře (4)

Nejjednodušší konfigurace určená zařízením s omezenými prostředky je CLDC [36], [37]. Je speciálně navržena jako Java platforma, která by splnila potřebu rozběhnout aplikace na zařízeních s omezenou pamětí, výkonem procesoru a grafickými možnostmi. Do této kategorie patří většina obyčejných mobilních telefonů. CLDC lze charakterizovat celkovou pamětí od 128 do 512 KB, maximálně s 256 KB pro ROM/flash paměti a 256 KB pro RAM. Dále omezeným napájením zejména z baterií, 16 nebo 32 bitovým procesorem s frekvencí od 8 do 32 Mhz. Touto konfigurací se zejména zabývá tato práce, a proto jsou dále uvedeny další podrobnosti. [36]

CLDC zařízení mají zjednodušený virtuální stroj. Jeho implementace se může lišit drobně pozměněnými vlastnostmi. Například Kilo Virtual Machine, první CLDC kompatibilní virtuální stroj, má upravenou obvyklou JVM architekturu tak, aby se snížilo používání paměti a zjednodušilo se vykonávání programu. Bylo například změněno chování garbage kolektoru nebo bylo omezeno používání on-the-fly kompilace. CLDC Hotspot VM má stejné základní vlastnosti, ale již plně podporuje kompilaci za běhu. Tyto rozdíly však programátor nezaregistruje, protože se Hotspot VM zvenku chová úplně stejně jako ostatní CLDC VM. Pouze výkon některých operací může být odlišný. [19]

Nevýhodou v návrhu dnešních CLDC virtuálních strojů je nemožnost spustit více aplikací najednou. Způsobem, jak toto omezení obejít, je použít pro každou aplikaci vlastní VM, ale to z hlediska spotřeby paměti není vhodné řešení. Toto omezení je poměrně podstatnou nevýhodou a proto se již připravuje řešení v podobě MIDP 3.0 a CLDC verze 1.1.1, který by měl zajistit dostatečnou bezpečnost, aby bylo možné spustit více aplikací paralelně.

Pro programátora zjednodušení prostředí Javy ovlivněné CLDC na rozdíl od klasické nemobilní Javy přináší tyto nejvýznamnější změny:

  1. není podpora plovoucí desetinné čárky u CLDC verze 1.0
  2. není podporována reflexe (reflection)
  3. částečná podpora slabých referencí (weak references), u verze 1.0 žádná
  4. nepodporuje metodu finalize(), lze jí použít, ale může ukončit provádění aplikace
  5. zjednodušuje bezpečnostní plán

V současné době jsou dvě specifikace CLDC, jedná se o specifikaci verze 1.0 (JSR 30) a 1.1 (JSR 139). CLDC 1.0 obsahuje tyto základní balíčky: java.io, java.lang, java.util a javax.microedition.io. Finální verze CLDC 1.1 byla vydána v roce 2003. Opravuje chyby a rozšiřuje možnosti CLDC 1.0 při zachování zpětné kompatibility. CLDC 1.1 navíc přináší [37]:

  1. podporu plovoucí desetinné čárky, tzn., jsou přidány třídy Float a Double, upraveny četné metody pro práci s těmito datovými typy a zvýšen minimální nárok na paměť
  2. podporu slabých referencí – byla přidána malá část Java SE tříd pro práci se slabými referencemi
  3. zlepšení práce s výjimkami, přidána nová třída NoClassDefFoundError
  4. přebudování tříd Calendar, Timezone a Date tak, aby odpovídaly více třídám Java SE
  5. řadu dalších drobných úprav a odstranění známých chyb

Kvůli změně bezpečnostního modelu, který je součástí například profilu MIDP 3.0, byla vydána aktualizace CLDC 1.1.1. Ta přidává podmnožinu bezpečnostních tříd z J2SE 1.3.1 a třídy Java.util.Timer a Java.util.TimerTask. Na obrázku 2 jsou znázorněny průniky společných knihoven mezi edicemi a profily.

VZTAH MEZI CDC, CLDC A J2SE

OBRÁZEK 2: VZTAH MEZI CDC, CLDC A J2SE, ZDROJ: (15)

Poznámka: Kapitola 2.1.1, BP.

Další zajímavé příspěvky:

Štítky: , , , , , , ,