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:
- eredeti Sun változat: Download Java software from Sun Microsystems
- Blackdown Java-Linux (gyártanak nemhivatalos Debian csomagot, de elavult)
- IBM változat: developerWorks : Java : IBM developer kits
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:
- apt-get install java-package
- $ fakeroot make-jpkg jdk-xxx.bin (userként)
- dpkg -i jdk-xxx.deb
FIXME: valami még hiányzik? make-jpkg probléma
Kapcsolódó szócikkek
- Eclipse
- EJB (Enterprise JavaBeans)
- Java Servlet
- JDBC (Java Database Connectivity)
- J2EE (Java 2 Platform, Enterprise Edition)
- JSP (Java Server Pages)
- jDictionary
- Kaffe
- Jamvm
- Sablevm