Java

A HupWiki-ből...

Tartalomjegyzék

A dilemma

A legnagyobb kérdés az, hogy a Java most vajon mi?

Sokáig lehetne vitázni, de mindegyik illik is rá, meg nem is.

A második felmerülő kérdés az, hogy vajon melyik volt előbb? A tyúk vagy a tojás?

Nos, ha a "gép" a tyúk, és a nyelv a tojás, akkor a tojás volt előbb, pontosabban majdnem szimultán keletkezett a tyúkkal. És ez nem sci-fi!

Mi is pontosan a Java?

A Java egy érdekes dolog, állítólag úgy keletkezett, hogy a SUN cégnél pár embernek szabad project lehetőséget adtak, azaz csinálhattak bármit ami szerintük hasznos. Ennek az eredménye lett a Java, a neve is utal rá, ugyanis az amerikai szlengben a java feketekávét jelent, és a Java tényleg kávézások alatt "született".

Node maga a Java:

  • Egy programozási nyelv, ugyanúgy mint például a C, C++, Pascal, stb.
  • A Java bytecode pedig egy "virtuális gépi kód". A Java forrást Java bytecode-ra fordítják, amely minden olyan géptípuson futtatható (újrafordítás nélkül), ahol van Java "interpreter" ("Java VM", virtuális gép) ami megérti a Java bytecode-ot. A fordítást a Java compiler (fordító) végzi. Az elv olyan, mint ami egy C programnál a C fordítóval történik, csak itt nem a gép számára közvetlenül érthető nyelvre, hanem Java bytecode-ra történik a fordítás. A bytecode-ot a Java VM tudja "végrehajtani".
  • Valamint egy igen kiterjedt osztálykönyvtár "JRE" - Java Runtime Environment (a jelenlegi 1.4-es verzió cirka 5ezer osztályt tartalmaz)

A Java tehát egy "hibrid", mivel van benne interpreter és compiler jellegű működés is, mint látható. A Javából száműztek sok nem eléggé "strukturáltság-barátnak" tekintett funkciót, úgy mint pl. a goto-t vagy a pointer-eket, ezzel kivívva a legtöbb régi vágású programozó haragját.

Így megszabadultak a programozói hibák nagy részétől. Például a Java-ban a buffer-overflow jellegű hiba nem vezethet biztonsági réshez, lehetőség van nem trusted modulok sandbox-ban történő futtatására (azaz limitálni, hogy mondjuk a netről letöltött program mit tehet és mit nem) valamint számos más, fejlesztésbarát tulajdonsággal rendelkezik.

A Java kabalafigurájának Dukeot választotta.

Fejlesztői környezetek

Sok olyan eszköz érhető el, amiket azért készítettek, hogy egyszerűbb legyen java programokat készíteni. Az egyszerű felokosított szövegszerkesztőtől komplett grafikus programcsomagot találhatunk erre a célre. Lássunk pár példát a javahoz való IDE-kből(Integrated Development Environment):

Változatok

Linux alatt három zárt forrású változat érhető el, ezek eltérnek kompatibilitásban és teljesítményben:

Nyílt forrású megoldás a GNU Classpath (Honlap). Ez csak a library részt fedi le, oss JVMek: Classpath::JVM

Tippek

A .bin önkifejtő változat relepítése: lépj be az '/usr/local/' könyvtárba (kompatibilitási okokból ide érdemes telepíteni) és indítsd a telepítőt (rootként): './j2re-xxx.bin' (licenszt olvasd el vagy nyomd tovább ("q"), majd fogadd el ("yes")

Plugin használatba vétele:

  • opera: a beállító ablakban (alt+p) a "Multimedia" résznél a "Java path" legyen pld.: '/usr/local/j2re1.4.2/lib/i386/' (persze a "Multimedia" résznél a java használatát engedélyezd; a "Validate java path" nem mindig működik helyesen

Ha fagyna a java próbáld a program indítás előtt a export LD_ASSUME_KERNEL=2.2.5 parancsot; főleg 2.6 kernel alatt jelentkezik.

A .bin kiadásból Debian csomag gyártása:

  1. apt-get install java-package
  2. $ fakeroot make-jpkg jdk-xxx.bin (userként)
  3. dpkg -i jdk-xxx.deb

FIXME: valami még hiányzik? make-jpkg probléma

Kapcsolódó szócikkek

Külső hivatkozások