Hlavná charakteristika programovacieho jazyka Java, jeho história, princípy, význam a základné rozdelenie.
História
Vývoj jazyka a platformy Java začal ako projekt firmy Sun Microsystems. Vývojári v Sune boli sklamaní so stavom ich verzie C++ a aplikačným programovým rozhraním (API) C-éčka a ich nástrojov. Pokúsili sa vyvinúť programovaciu technológiu novej generácie, a využiť tak nové možnosti. Prvá verejná verzia bola vydaná v roku 1995 ako Java 1.0. V tom roku Bill Gates tvrdil, že ďalší programovací jazyk je zbytočný a predpokladalo sa, že Java zanikne do dvoh rokov. Príkladom tohto veľkého omylu sú internet-banking systémy najväčších bánk, ktoré sú postavené práve na platforme Javy alebo burzovné a clearingové systémy väčšinou stojace na Jave a stále rastúca komunita programátorov v tomto jazyku.
Stručná charakteristika
Java je objektovo orientovaný programovací jazyk, rozsiahla počítačová technológia a počítačová platforma. Tento jazyk bol vyvinutý firmou Sun Microsystems a syntaxou vychádza z jazyka C++. Oproti C++ však Java neobsahuje žiadne zložité konštrukcie (ako sú napr. ukazatele), ktoré spôsobujú zbytočné problémy.
Vďaka automatickej správe pamäti (garbage collector) sa prográmator nemusí starať o manuálne čistenie pamäti po nepotrebných objektoch. Nahradením ukazovateľov (pointers) odkazmi (references) je ukončená hrozba zápisu do neplatnej pamäti. Mechanizmus vlákien umožňuje tvorbu prepracovaného grafického užívateľského rozhrania (GUI). Navyše Java obsahuje serializáciu, ktorá prináša elegantné riešenia v prípade, že je potreba ukladania dát do súborov alebo ich prenášanie po sieti. Štandardne dodávané knižnice umožňujú bez ďalších doplnkov okamžite vytvárať užívateľské rozhrania, pracovať so súbormi, textom, databázami, komprimovanými súbormi, predvoľbami a ďalšími časťami počítačového prostredia.
Programy napísané v Jave sú prenositeľné na každú platformu (či už Windows, Unix, Linux alebo Solaris), ktorá obsahuje virtuálny stroj jazyka Java (Java Virtual Machine – JVM). Kód je kompilovaný len raz na tzv. bajtový kód (byte code), ktorý je pri každom spustení interpretovaný virtuálnym strojom.
Virtuálny stroj jazyka Java (JVM)
Sun Microsystems vytvoril slogan „napíš raz, spusti všade“ (write once, run everywhere), aby demonštroval hlavnú výhodu jazyka Java. Ako už bolo vyššie spomenuté, JVM spracúvava (interpretuje) bajtový kód. Dostupnosť JVM na rôznych druhoch hardwarových a softwarových platformách umožňuje, aby bola Java funkčná nielen ako platforma, ale aj ako middleware (middleware pozostáva zo softwarového agenta, ktorý komunikuje ako medzičlánok medzi rôznymi aplikáciami). Týmto spôsobom sa dosiahne prenositeľnosť kódu na systémy s odlišnou architektúrou, čiže narozdiel od programu, ktorý je napísaný v jazyku C alebo C++, sa nemusí kód kompilovať zvlášť pre každú architektúru. Napriek tomu, že bajtový kód je rovnaký pre všetky platformy, mechanizmus JVM interpretuje a optimalizuje aplikáciu priamo na hostiteľskom počítači.
Architektúra Javy
Java je v podstate kombináciou štyroch častí:
- Programovací jazyk Java
- Formát súboru .class
- Java API
- JVM
Vyvíjanie nejakej aplikácie je písanie kódu v programovacom jazyku Java. Ten sa následne skompiluje do súborov s príponou .class, ktoré sú spúštané v prostredí JVM.
Kombinácia JVM s triedami výkonného jadra jayzka Java je známa aj ako prostredie pre spracovanie jayzka Java (Java Runtime Environment – JRE).
Java API je dopredu pripravený kód, ktorý je tematicky usporiadaný do balíčkov (packages) a delí sa na tri základné platformy:
- › Java Micro Edition (JME)
- Platforma na vývoj aplikácii napr. pre mobilné telefóny, systémy navádzania motorových vozidiel…
- › Java Standard Edition (JSE)
- Platforma obsahujúca základnú sadu tried, ktoré sú potrebné pre tvorbu GUI a štandardných aplikácii
- › Java Enterprise Edition (JEE)
- Platforma so sadou tried a rozhraní pre vývoj webových aplikácii (napr. Java Server Pages – JSP, Enterprise Java Beans – EJB)
Sada vývojových nástrojov Javy (Java Development Kit – JDK)
JDK je produkt firmy Sun určený pre programátorov. Je to balíček, ktorý pozostáva z Java kompilátora, množstva vývojových nástrojov a JRE. Niekedy sa označuje aj ako Java SDK (Software Development Kit).
Automatická správa pamäti (garbage collector)
Jednou z najvýznamnejších vlastností Javy je garbage collector. Tento mechanizmus vyhľadáva v oblasti pracovnej (dynamickej) pamäti (tzv. hromady, po česky haldy :-) ) neplatné alebo nepotrebné objekty, na ktoré napr. už neexistuje platný odkaz alebo sú dlhšiu dobu nepoužívané. Keby táto pamäť nebola uvolnená správne (načo dopláca veľa programátorov v C++), došlo by k vyčerpaniu pamäťových zdrojov (memory leak).
Applety a štandardné aplikácie
Programy vyvinuté v Jave sa všeobecne rozdeľujú na applety a štandardné aplikácie (samozrejme existujú aj iné druhy, ale toto je článok pre začiatočníkov a nie pre softwarových inžinierov).
Applety poskytujú interaktívne vlastnosti pri prezeraní webovým aplikáciám, ktoré nemôže zabezpečiť HTML. Sú spúšťané väčšinou internetových prehliadačov v sandboxoch (ochranný mechanizmus pre bezpečné vykonávanie programov), ktoré zabraňujú prístupu k lokálnym dátam. Kód appletu je najskôr stiahnutý z webového serveru a potom prehliadač buď vloží applet do stránky, alebo ho otvorí v novom okne. Medzi štandardné aplikácie patria napr. konzolové alebo GUI aplikácie.
Výhliadka do budúcnosti
V súčasnosti je Java jedným z najpoužívanejších programovacích jazykov a pravdepodobne tomu tak bude aj naďalej. Ďalším faktom je veľký dopyt po programátoroch, ktorý ovládajú tento jazyk (hlavne JEE) a veľmi zaujímavý plat. Výhodou pre tých, ktorí programujú v tomto jazyku, je, že spolu s ním ovládajú nielen z väčšej časti aj C#, ale aj princípy OOP (Objektovo Orientovaného Programovania), ktoré predstavuje budúcnosť vývoja softwaru.