na ka₧dΘm kroku
┌vod do technologie Java a jejφho pou₧itφ
Jako p°φznivci Internetu jste se ji₧ jist∞ s tφm kouzeln²m sl∙vkem setkali. Ano, Java [d₧ava] letφ sv∞tem a ka₧d² o nφ nadÜen∞ hovo°φ jako u budoucnosti Webu. Co to vlastn∞ je ta Java a jak nßm m∙₧e pomoci? Mnozφ jist∞ v∞dφ, ₧e Java je nov² programovacφ jazyk. ProΦ vzbudil takovou pozornost a pot°ebujeme se v∙bec uΦit n∞jak² dalÜφ jazyk? To jsou otßzky, na kterΘ se pokusφ odpov∞d∞t ·vodnφ Φlßnek do technologie Java a jejφho praktickΘho pou₧itφ.
Trocha historie
Programovacφ jazyk Java p∙vodn∞ vyvinuli experti firmy SUN Microsystems pro °φzenφ set-top p°φstroj∙ pro televize a obecn∞ pro °φzenφ za°φzenφ spot°ebnφ elektroniky. To ji₧ od samΘho zaΦßtku znamenalo, ₧e takov² jazyk musel b²t nezßvisl² na platform∞, tj. nemohl se spolΘhat na urΦit² mikroprocesor nebo hardware. SystΘm v takovΘm jazyce potom m∙₧e b∞₧et na videorekordΘru, stejn∞ jako v telefonu, automatickΘ praΦce nebo dokonce na poΦφtaΦi.
SystΘm, kter² byl tehdy kolem roku 1991 vyvinut, se jmenoval Oak (dub strom rostoucφ p°ed oknem kancelß°e ÜΘfa projektu) a jeho tv∙rci se ho nejprve sna₧ili prosadit do set-top p°φstroj∙ pro "video-na-₧ßdost" firmy Time-Warner a do hernφch konzolφ 3DO. Z obou projekt∙ nakonec seÜlo, co₧ bylo pro dalÜφ v²voj mo₧nß lepÜφ. V roce 1993 si toti₧ Zelen² t²m, jak se tv∙rc∙m Oaku p°ezdφvalo, uv∞domil potencißl svΘho systΘmu jako programovacφho jazyka pro tvorbu aplikacφ Webu. Za dalÜφ dva roky pak byl Oak p °ejmenovßn na Javu (obchodnφ znaΦka Oak byla u₧ zaregistrovßna) a zaΦala jeho strmß cesta vzh∙ru. Nejprve byl vytvo°en webov² prohlφ₧eΦ WebRunner, pozd∞ji p°ejmenovan² na HotJava, kter² umo₧≥oval zobrazovat interaktivnφ webovΘ strßnky s Java applety. HotJava je mimochodem celß napsßna v Jav∞, co₧ dokazuje schopnosti tohoto jazyka. Nßsledovalo licencovßnφ jazyka Java takov²m spoleΦnostem jako je Apple, IBM, Netscape a Microsoft, kterΘ ho vyu₧ily ve sv²ch produktech. Dnes Javu podporujφ oba hlavnφ web ovΘ prohlφ₧eΦe Netscape Navigator i Microsoft Internet Explorer a Java applety i aplikace lze dokonce spouÜt∞t p°φmo z prost°edφ operaΦnφho systΘmu (viz obr. 2).
Ptßte se jak nßzev Java vlastn∞ vznikl? ╪φkß se, ₧e inspirace se dostavila cestou do kavßrny, kterou tv∙rci Javy navÜt∞vovali ("java" je anglick² termφn pro va°enou kßvu). Ale zlφ jazykovΘ tvrdφ, ₧e se jednß o zkratku z Just Another Valueless Acronym (jenom dalÜφ bezcenn² akronym).
Co je Java?
Java je objektov∞ orientovan² programovacφ jazyk vyÜÜφ ·rovn∞ vychßzejφcφ z jazyka C++. To ji₧ samo o sob∞ °φkß mnohΘ, ale nijak to nezd∙vod≥uje jeho strm∞ rostoucφ popularitu a souvislost s Internetem. Nebudu zde zabφhat do podrobnostφ kolem objekto-v∞ orientovanΘho programovßnφ (OOP), kterΘ je dnes ji₧ pom∞rn∞ b∞₧nΘ, spokojme se s tφm, ₧e v Jav∞ se program sklßdß z objekt∙ (t°φd), kterΘ obsahujφ r∙znΘ metody, pomocφ nich₧ spolu objekty komunikujφ.
To, co zp∙sobilo obrovsk² zßjem o Javu, pokud jde o Internet, je jejφ p°enositelnost umo₧≥ujφcφ b∞h tΘho₧ programu na r∙zn²ch poΦφtaΦov²ch platformßch. Internet je svojφ heterogennostφ, tj. r∙znostφ pou₧it²ch poΦφtaΦov²ch platforem, typick², a tak jazyk, ve kterΘm lze psßt aplikace, spustitelnΘ na ka₧dΘm poΦφtaΦi, p°irozen∞ vzbudil pozornost. Principem p°enositelnosti u Javy je to, ₧e zdrojov² k≤d programu nenφ p°eklßdßn p°φmo do instrukcφ konkrΘtnφho procesoru, ale do obecnΘho binßrnφho souboru obs ahujφcφho bajtovΘ k≤dy. Tento binßrnφ soubor je potom interpretovßn specißlnφm virtußlnφm strojem (viz dalÜφ kapitola).
Zastavme se jeÜt∞ na chvφli u pojmu applet, kter² je v souvislosti s Javou Φasto pou₧φvßn. V Jav∞ lze vytvß°et b∞₧nΘ aplikace stejn∞ jako v C++, a potom zde existujφ jakΘsi mini-aplikace, applety, kterΘ lze spouÜt∞t ve webov²ch prohlφ₧eΦφch. SouΦßstφ definice Javy jsou knihovny nadefinovan²ch t°φd, kterΘ podstatn∞ zrychlujφ proces programovßnφ. Jednou takovou nadefinovanou t°φdou je i Applet obsahujφcφ n∞kterΘ specißlnφ metody, nap°φklad p°ekreslenφ oblasti appletu nebo reakce na udßlost. Pokud vytv o°φte dce°innou t°φdu t°φdy Applet, ve kterΘ p°edefinujete p°φsluÜnΘ metody, dostanete nov² applet, kter² potom (po zkompilovßnφ) m∙₧ete za°adit do svΘ webovΘ strßnky. V²hodou tvorby applet∙ (a obecn∞ OOP) je prßv∞ to, ₧e hodn∞ prßce ji₧ pro vßs bylo ud∞lßno a vy jen m∞nφte, co pot°ebujete.
Existuje takΘ zjednoduÜenß verze Javy s nßzvem JavaScript urΦenß p°φmo pro Web. Programy napsanΘ v JavaScriptu je mo₧nΘ za°adit do textu HTML strßnky (nenφ tedy pot°eba ₧ßdn² p°ekladaΦ) a provßd∞ny jsou potom po zobrazenφ strßnky ve webovΘm prohlφ₧eΦi. Hovo°φme-li o JavaScriptu, nem∙₧eme opomenout ani jeho konkurenta VBScript. VBScript, neboli VisualBasic Script, je zjednoduÜenou verzφ jazyka VisualBasic, kterou vytvo°il Microsoft. VBScript je dnes ale podporovßn pouze Internet Explorerem pro Window s. Oba skriptovacφ jazyky umo₧≥ujφ o₧ivit webovΘ strßnky nap°φklad o animace, p°idat do strßnek interaktivitu a funkce, kterΘ bylo d°φve nutnΘ programovat pomocφ tzv. CGI skript∙ b∞₧φcφch na webov²ch serverech.
Virtußlnφ stroje
Tvrzenφ, ₧e Java programy a applety b∞₧φ na ka₧dΘm poΦφtaΦi, je sice pravda, pot°ebujete pro to ale jednu maliΦkost, a to virtußlnφ stroj Javy (JavaVM). PoΦφtaΦe toti₧ mohou z principu provozovat jen programy napsanΘ v k≤du pou₧φvanΘho procesoru a pro vÜechny ostatnφ aplikace je pot°eba n∞jak² druh softwaru, tzv. virtußlnφ stroj nebo, chcete-li, virtußlnφ procesor, kter² se starß o p°evod instrukcφ programu na instrukce procesoru. Virtußlnφ stroj Javy je tedy software interpretujφcφ bajtov² k≤d Java soubor∙ (soubory s koncovkou .class) a pro ka₧dou poΦφtaΦovou platformu je nutn² zvlßÜtnφ virtußlnφ stroj.
Nev²hodou interpretace, kterou provßdφ v∞tÜina virtußlnφch stroj∙ Javy, je rychlost nebo spφÜe pomalost b∞hu Java program∙. Proto vznikly tzv. just-in-time (JIT) kompilßtory, kterΘ pr∙b∞₧n∞ p°eklßdajφ bajtov² k≤d Javy na k≤d danΘho procesoru. Tφm je dosa₧eno n∞kolikanßsobnΘho urychlenφ Java program∙. Vzpomφnßm si, ₧e kdysi bylo n∞co podobnΘho vytvo°eno pro jazyk BASIC a °φkalo se tomu navlΘkacφ P-k≤d.
Mimochodem, Java nenφ jedin² jazyk, kter² pou₧φvß virtußlnφ stroj. Programovacφ jazyk Prolog mß sv∙j virtußlnφ stroj ji₧ n∞kdy od roku 1977, °φkß se mu Warren∙v abstraktnφ stroj (WAM). PoΦφtaΦe Power Macintosh pou₧φvajφ hned n∞kolik virtußlnφch stroj∙. Vestav∞n² majφ virtußlnφ stroj pro b∞h aplikacφ napsan²ch pro starÜφ procesory 68k, od firmy Connectix si m∙₧ete koupit VirtualPC, co₧ je virtußlnφ stroj pro provoz aplikacφ urΦen²ch pro poΦφtaΦe PC, a nakonec je tady MacOS Runtime for Java (MRJ), slo u₧φcφ pro b∞h Java program∙ a applet∙.
Virtußlnφ stroje Javy jsou dnes souΦßstφ obou hlavnφch webov²ch prohlφ₧eΦ∙ Netscape Navigator a Internet Explorer (viz obrßzek 3). Microsoft, Apple i IBM reßln∞ zva₧ujφ za°azenφ JavaVM do sv²ch operaΦnφch systΘm∙, tak₧e potom p∙jdou Java programy i applety spouÜt∞t stejn∞, jako vÜechny ostatnφ aplikace. SUN zase p°ipravuje procesory schopnΘ provozu bajtovΘho k≤du Javy bez nutnosti pou₧itφ meziΦlßnku v podob∞ virtußlnφho stroje.
V²vojovΘ nßstroje
Firma SUN Microsystems ud∞lala pro rychlΘ rozÜφ°enφ Javy opravdu hodn∞. Pro tvorbu prvnφch applet∙ v Jav∞ bylo rozhodujφcφ uvoln∞nφ v²vojovΘho prost°edφ Java Development Kit (JDK), kterΘ si ka₧d² zßjemce m∙₧e zdarma nahrßt z webovΘho serveru firmy (http://www.javasoft.com). JDK je dostupn² pro celou °adu poΦφtaΦov²ch platforem (nutnß je podpora dlouh²ch jmen soubor∙), a tak s v²vojem softwaru v Jav∞ m∙₧e zaΦφt opravdu ka₧d². JedinΘ, co k JDK pot°ebujete navφc, je textov² editor, ve kterΘm budete psß t a upravovat zdrojovΘ texty sv²ch Java program∙ (viz obrßzek 1).
Zßkladem JDK je Java Compiler (javac), kter² p°eklßdß zdrojovΘ texty program∙ (soubory s p°φponou .java) na binßrnφ soubory obsahujφcφ bajtovΘ k≤dy (soubory s p°φponou .class). Dßle zde najdete Java Runner, co₧ je vlastn∞ virtußlnφ stroj Javy umo₧≥ujφcφ provoz Java program∙ na danΘ poΦφtaΦovΘ platform∞. Obdobou Java Runneru, urΦenou pro b∞h applet∙ Javy, je Applet Viewer, umo₧≥ujφcφ naΦφst webovou strßnku obsahujφcφ applet, zobrazit jemu vyhrazenou oblast a applet spustit. N∞kterΘ verze JDK obsahujφ jeÜt∞ dvojici nßstroj∙: javadoc pro automatickou tvorbu dokumentace program∙ a disassembler Javy pro p°evod binßrnφch soubor∙ Javy (p°φpona .class) zp∞t do podoby zdrojovΘho k≤du (p°φpona .java).
S JDK dostanete pro zaΦßtek °adu ji₧ vytvo°en²ch applet∙, vΦetn∞ jejich zdrojov²ch k≤d∙, kterΘ tak mohou slou₧it k ·vodnφmu samostudiu jazyka. N∞kterΘ z t∞chto applet∙ lze po drobnΘ ·prav∞ p°φmo pou₧φt na vlastnφch www strßnkßch.
JDK je pro vÜechny platformy dostupn² ve verzi 1.0.2, brzy by m∞l b²t k dispozici i JDK 1.1 podporujφcφ n∞kterΘ novΘ prvky Javy, jako jsou nap°φklad JavaBeans.
Zatφmco Java Development Kit m∙₧e staΦit v zaΦßtcφch prßce s Javou, kdy jsou vaÜe aplikace a applety jeÜt∞ malΘ, p°i vß₧n∞jÜφ prßci rßzem zaΦne b²t JDK t∞sn². Ne ₧e by s nφm neÜlo vyvφjet v∞tÜφ projekty, ale komfort prßce, na jak² je v∞tÜina programßtor∙ zvyklß z jin²ch v²vojov²ch prost°edφ, JDK prost∞ neposkytuje. A nejde zde jen o pohodlφ, ale p°edevÜφm o podporu v²voje, nap°φklad v podob∞ ladicφch nßstroj∙, kterΘ mohou tvorbu aplikace urychlit a zßrove≥ zv²Üit jejφ stabilitu. Dnes ji₧ ovÜem exist ujφ komerΦnφ v²vojovß prost°edφ pro Javu od dalÜφch v²robc∙.
Pom∞rn∞ silnou platformou pro v²voj aplikacφ v Jav∞ jsou poΦφtaΦe Macintosh. K dispozici je pro n∞ hned n∞kolik sluÜn²ch SDK pro Javu, otßzkou je jen, kter² si vybrat. Pokud v Jav∞ zaΦφnßte nebo ji vyu₧φvßte p°edevÜφm pro p°idßnφ interaktivity do sv²ch www strßnek, je pro vßs ideßlnφ Symantec Visual Cafe, dostupn² pro Macy i Windows 95/NT (viz obrßzek 4). Jednß se o integrovanΘ v²vojovΘ prost°edφ (IDE) obsahujφcφ vÜe, co pro tvorbu applet∙ i aplikacφ v Jav∞ pot°ebujete. Vestav∞n² textov² editor nap° φklad barevn∞ rozliÜuje klφΦovß slova a komentß°e, k dispozici je prohlφ₧eΦ hierarchie t°φd, debugger i vizußlnφ programovacφ nßstroj pro snadnou tvorbu u₧ivatelskΘho rozhranφ. Krom∞ kompilßtoru od Sunu m∙₧ete takΘ pou₧φvat rychlejÜφ kompilßtor od Symantecu.
Pro tvorbu nßroΦn∞jÜφch projekt∙ v Jav∞ je vhodn² Roaster, poskytujφcφ dnes jeden z nejrychlejÜφch p°ekladaΦ∙ Javy. Ten umo₧≥uje vytvß°et i soubory .zip s mnoha zkompilovan²mi t°φdami, kterΘ jsou pou₧itelnΘ jak ve Windows, tak i v Unixu. V Roasteru lze takΘ generovat spustitelnΘ aplikace pro Mac, ve kter²ch je k binßrnφmu souboru Javy p°ibalen virtußlnφ stroj Javy. Lze tak vytvß°et nap°φklad databßzovΘ programy a dalÜφ kancelß°skΘ aplikace, jejich₧ v²kon je srovnateln² se softwarem psan²m v C++.
Svß ₧elφzka v ohni, zvlßÜt∞ pro poΦφtaΦe s Windows 95 a NT, majφ takΘ tradiΦnφ tv∙rci v²vojov²ch nßstroj∙, firmy Borland a Microsoft.
Java a Web
NejΦast∞ji se dnes hovo°φ o jazyce Java v souvislosti s o₧ivenφm webov²ch strßnek, na kterΘ souΦasn² standard HTML nestaΦφ. Ji₧ takov² JavaScript umo₧≥uje d∞lat zajφmavΘ v∞ci, a co teprve plnß sφla Javy?
Zatφm se pro p°idßnφ multimΘdiφ a interaktivity do Webu pou₧φvajφ p°edevÜφm vlo₧enΘ objekty. Jejich nev²hodou je ale to, ₧e pot°ebujφ specißlnφ zßsuvn² modul do prohlφ₧ecφho programu. A proto₧e ka₧dß firma si pro zobrazovßnφ sv²ch skv∞l²ch interaktivnφch multimΘdiφ vyvinula vlastnφ modul, poΦet zßsuvn²ch modul∙ na pevnΘm disku postupn∞ roste, stejn∞ jako se ·m∞rn∞ nebo spφÜe ne·m∞rn∞ zv∞tÜujφ pam∞¥ovΘ nßroky p°φsluÜnΘho webovΘho prohlφ₧eΦe. O kolizφch mezi jednotliv²mi moduly a nedostupnosti n∞kter² ch modul∙ pro urΦitΘ platformy ani nemluv∞. A p°itom existuje jednoduchΘ °eÜenφ vyu₧φvajφcφ Java applet∙.
Podobn∞ jako vlo₧en² objekt si takΘ Java applet pro sebe vyhrazuje Φßst webovΘ strßnky, na kterΘ potom m∙₧e d∞lat, co chce. Vzhledem k univerzßlnosti Javy v nφ m∙₧ete naprogramovat vÜe, co umφ dneÜnφ vklßdanΘ objekty. A nepot°ebujete pro to zßsuvn² modul, proto₧e podpora Javy je ji₧ v∞tÜinou standardnφ souΦßstφ webovΘho prohlφ₧eΦe. Zatφmco vÜak pro tvorbu dat pro zßsuvnΘ moduly existujφ snadno ovladatelnΘ multimedißlnφ autorskΘ nßstroje, Java applety bylo a₧ donedßvna nutnΘ programovat ruΦn∞, co₧ p° irozen∞ °adu potencißlnφch autor∙ odradilo. S uvedenφm aplikace WebBurst firmou Power Production Software (http://www.powerproduction.com) se vÜe m∞nφ.
WebBurst je multimedißlnφ autorsk² nßstroj, s nφm₧ se pracuje stejn∞ snadno a pohodln∞ jako s jin²mi aplikacemi tohoto druhu. M∙₧ete zde kombinovat grafiku, text i zvuk, p°idßvat animace i o₧ivovat tlaΦφtka, prost∞ vÜe, co umφ tradiΦnφ multimedißlnφ autorskΘ nßstroje (viz obrßzek 7). Na zßv∞r se mφsto souboru s daty pro zßsuvn² modul vygeneruje Java applet, kter² potom m∙₧ete p°φmo za°adit na svoji strßnku. Jednoduchß myÜlenka, kterß funguje.
Java applety mohou do webovΘho prohlφ₧eΦe p°inßÜet nejen multimedißlnφ data, ale i celΘ aplikace, jako jsou nap°φklad grafickΘ editory nebo tabulkovΘ procesory. Velkß budoucnost je takΘ v appletech, kterΘ budou sami brouzdat sφtφ a vyhledßvat pro vßs zajφmavΘ informace, a ty potom zobrazφ ve webovΘm prohlφ₧eΦi.
Java mimo Web
Java je univerzßlnφ programovacφ jazyk, kter² lze p°irozen∞ pou₧φvat pro v²voj libovolnΘho softwaru. Jeho v²hodou je to, ₧e staΦφ aplikaci napsat a p°elo₧it pouze jednou a ona je pak pou₧itelnß na ka₧dΘm poΦφtaΦi s JavaVM. Toho cht∞li vyu₧φt takΘ v²vojß°i firmy Corel, kte°φ vytvo°ili patrn∞ prvnφ v∞tÜφ aplikaci v Jav∞, balφk kancelß°skΘho softwaru Corel Office for Java (donedßvna byl k dispozici na adrese http://officeforjava.corel.com).
Corel Office for Java (COJ) je implementovßn jako applet (to je pro mne trochu p°ekvapenφ) a lze jej proto spouÜt∞t v rßmci webovΘho prohlφ₧eΦe, co₧ mo₧nß trochu neguje nadpis tohoto odstavce. Po spuÜt∞nφ se zobra-zφ pracovnφ plocha CorelDesktop s integrovan²m sprßvcem soubor∙ a s ikonami jednotliv²ch aplikacφ. Najdete zde textov² editor Corel WordPerfect for Java, tabulkov² procesor Corel QuattroPro for Java s modulem CorelCHART for Java pro kreslenφ graf∙ a prezentaΦnφ software Corel Presentations for Java. Z ka₧dΘ aplikace lze potom vyvolat Corel Information Management for Java (InfoCentral) s plßnovacφm kalendß°em, adresß°em, kalkulaΦkou i e-mailov²m klientem (viz obrßzek 6). JednotlivΘ moduly nabφzejφ vÜechny zßkladnφ funkce, kterΘ m∙₧ete od tohoto typu softwaru Φekat i v²jimkou je mo₧nß CorelCHART, jeho₧ nabφdka graf∙ je skuteΦn∞ obdivuhodnß.
P∙vodnφm cφlem p°i v²voji Corel Office for Java bylo vytvo°it produkt, kter² by mohl prolomit nadvlßdu Microsoftu v oblasti kancelß°sk²ch aplikacφ. SouΦasnß verze COJ se ale poΦtem funkcφ rozhodn∞ Microsoft Office nevyrovnß, p°irovnat ji lze spφÜe k integrovan²m program∙m typu ClarisWorks. Podle poslednφch zprßv proto Corel prozatφm upustil od dalÜφho v²voje COJ a soust°edφ se na v²voj "klasick²m" zp∙sobem. Doba uplatn∞nφ Javy mimo Web z°ejm∞ zatφm jeÜ-t∞ nenastala (podle odbornφk∙ Corelu se tak sta ne asi za dva roky).
Kam pro dalÜφ informace
PotΘ, co jsme se seznßmili s mo₧nostmi jazyka Java, s p°φklady jeho pou₧itφ a podφvali se na n∞kterΘ aplikace v Jav∞ nebo pro Javu, bude vßs jist∞ zajφmat, kde se o Jav∞ dozvφte vφce. NejΦerstv∞jÜφm zdrojem informacφ o Jav∞ je p°irozen∞ Internet. Na prvnφm mφst∞ zde musφme zmφnit domovskou strßnku Javy (http://www.javasoft.com), kde si m∙₧ete nahrßt poslednφ verzi v²vojß°skΘho nßstroje Java Development Kit, dokumentaci Javy a takΘ se dozvφte oficißlnφ informace o v²voji Javy.
Informace o v²vojov²ch prost°edφch pro Javu najdete na strßnkßch jejich tv∙rc∙: Symantec (http://www.symantec.com), Roaster Technologies (http://www.roaster.com), Borland (http://www.borland.com) a Microsoft (http://www.microsoft.com). ZajφmavΘ informace, nßzory odbornφk∙ i p°ehled produkt∙ m∙₧ete nalΘzt takΘ v elektronickΘm Φasopise JavaWorld (http://www.javaworld.com viz obrßzek 8).
O tom, ₧e Javu berou vß₧n∞ nejv∞tÜφ sv∞tovφ v²robci softwaru i hardwaru, se p°esv∞dΦte na strßnkßch AppleJava (http://applejava.apple.com) nebo IBM Solution Developer Program (http://www.developer.ibm.com.)
Jav∞ a ·vodu do programovßnφ v Jav∞ je v∞novßna takΘ °ada domovsk²ch strßnek p°φvr₧enc∙ tohoto jazyka. S jejich nßzory se m∙₧ete setkat i v diskusnφm f≤ru comp.lang.java, kam se takΘ obracejte s p°φpadn²mi dotazy t²kajφcφmi se Javy.
Pro sam² Internet byste ale nem∞li zapomφnat na starΘ, dobrΘ knihy. O Jav∞ i JavaScriptu jich u nßs vyÜlo ji₧ n∞kolik a urΦit∞ je pohodln∞jÜφ a rychlejÜφ p°eΦφst si dobrou knihu, ne₧ dlouze hledat podobnΘ informace na Sφti.
P°eji hodn∞ ·sp∞ch∙ p°i cest∞ do novΘho sv∞ta technologie Java.
Roman Bartßk
7 0732
SlovnφΦek pojm∙ a zkratek
Java je objektov∞ orientovan² programovacφ jazyk vysokΘ ·rovn∞ vyvinut² s ohledem na sφ¥ovΘ poΦφtaΦovΘ systΘmy.
Applet je program v Jav∞ (p°esn∞ji °eΦeno, jednß se o objekt a jeho metody), kter² lze spouÜt∞t pouze v rßmci webovΘho prohlφ₧eΦe.
JavaScript je podmno₧inou Javy. Programy v JavaScriptu lze p°φmo za°adit do HTML strßnek, Φφm₧ se odliÜujφ od applet∙ Javy, kterΘ je pot°eba nejd°φve zkompilovat.
SDK (Software Development Kit) je kompletnφ sada nßstroj∙ pro v²voj softwaru.
JDK (Java Development Kit) je SDK urΦenΘ pro v²voj applet∙ i samostatn∞ spustiteln²ch aplikacφ v jazyce Java.
IDE (Integrated Development Environment) je integrovanΘ v²vojovΘ prost°edφ shrnujφcφ do jedinΘ aplikace editor, kompilßtor, debugger a dalÜφ v²vojovΘ nßstroje (pozn. stejnß zkratka oznaΦuje takΘ rozhranφ diskov²ch za°φzenφ).
JavaVM (Java Virtual Machine) je virtußlnφ stroj pro b∞h binßrnφho k≤du Javy. Je nap°φklad souΦßstφ MRJ (MacOS Runtime for Java).
JIT (Just-In-Time) je zp∙sob interpretace binßrnφho k≤du Javy, kdy je bajtov² k≤d "za pochodu" p°eklßdßn do strojovΘho k≤du poΦφtaΦe, Φφm₧ se dosahuje mnohonßsobnΘho urychlenφ b∞hu Java applet∙ i aplikacφ.