Podle clanku jsem zkusil java -version, zvratilo mi to:
bob@uis:~> java -version
java version "1.1.8"
bob@uis:~>
Z toho jako BFU neidentifikuju co je to zac.
BTW.ani po tomhle nenisem o moc chytrejsi:
bob@uis:~> rpm -qa | grep java
java2-1.3.1-293
java-1.1.8v3-25
bob@uis:~>
Muzete poradit, jak zjistim co mam vlastne nainstalovane?
Docela slibny uvod, uvidime jak se vyvinou dalsi dily. Clanek tohoto typu mi na rootu chybel. Mam podobne zkusenosti jako autor: nekteri lidi maji porad vuci Jave predsudky typu, ze je pomala, ze by pro spousteni javaprogramu museli mit nainstalovane stovky MB knihoven, atd. Vyvracet tyhle myty je nekdy velka drina. Pokud pujdou i ostatni dily spravnym smerem, konecne nebudu muset vsechno zdlouhave vysvetlovat sam, ale jenom predam odkaz sem. Jsou to vsechno sice jenom elementarni veci, ale asi ne pro lidi co se javou nezabyvaji (odmitaji zabyvat?).
Co se tyce virtualni masiny, doporucuju pouzivat JRE 1.4.x od Sunu. Je mnohem rychlejsi nez predchozi verze.
To je sice pravda, ale pokud mate zkusenost s .NET aplikacemi, tak pro jejich beh je taky treba nainstalovat .NET Framework a to je take kolem 40MB. Takze M$ se ubira stejnym smerem (s tim rozdilem, ze v nove verzi to samozrejme bude pevnou soucasti systemu a zrejme to nepujde odinstalovat). A jejich priznivci budou proti Jave argumentovat tim, ze .NET je lepsi, protoze neni nutne nic stahovat a instalovat.
Ale diky za clanek. Tohle sice mam uz davno za sebou, ale urcite to pomuze rozsirit Javu.
SWING GUI ma rekneme na horsim PC vyssi rezii, to ano, ale samotny procesni vykon javy (napr. v serverovem reseni) obzvlast za pouziti HOTSPOT VM si myslim neni vubec spatny.
Pravda je, ze JRE neco na disku zabira, ale rozhodne to neni zadna astronomicka suma. Samotne knihovny vyuzivane java aplikacemi (v *.jar) uz pak mivaj jen radove desitky kB
Ale pravda je, ze ten mytus o pomalosti tady bude porad :-) A po pravde receno - furt je mi milejsi parvterinova latence pri zavadeni trid , nez zavislost na cemkoli proprietarnim od micro$oftu. 5 let sem vyvijel pod win32 a posledni rok uz jen v jave a popravde - dusevne se citim daleko lepe po tom, co sem se zavislosti a vlaceni se MS obchodnimi zajmy zbavil :-)
Logicky interpretovany kod nemuze byt nikdy tak rychly jako nativni. Pokud je, znamena to ze ten nativni je mizerne zoptimalizovany (stava se casto) nebo ze je neco schnileho v architekture (u i386 nelze vyloucit).
Na druhou stranu, zda se ze v interpretovanych jazycich se programuje rychleji ...
Nojo, ale Perl neni multivlaknovej. Uz se o tom mluvi dlouho, ale porad to jeste neni hotovy. Mutlivlaknovost Perlu mi dost chybi. Pokud si treba udelate perl backend k openldapu, tak musi server pozadavky obsluhovat sekvencne, protoze volani
perl interpretu je obaleny spin lockem.
Podobne je to s webem. Pokud chcete drzet konexe do DB a sdilet je, tak zjistite, ze to v Perlu proste nejde.
S tou větší rychlostí Perlu bych si nebyl zase až tak jistý...
Viz http://developer.java.sun.com/developer/qow/archive/184/index.jsp
Question:
Can JavaTM technology beat Perl on its home turf with pattern matching in large files?
Answer:
Yes it can.
On a 500 megabyte log file perl requires 282 seconds to remove the lines, whereas the Java code below accomplishes the same task in 137 seconds.
To je vtip, ne? Nemaji uvedeny perlovy zdrojak, na kterem to merili. Nemaji uvedeny, jakym interpretem Perlu to pousteli. Nemaji tam napsane, nad jakym JVM bezel ten javovy kod a cim byl prekladany. Je to uzce zamerena uloha: nazyvat hromadu volani indexOf() "pattern matchingem" jak by vypadlo z Monty Pythonu. One cross each :)
T.
Ahoj,
nevím, jakou máš distribuci a jakým způsobem jsi zkoušel instalovat tu Javu.
Zkusím předpokládat, že Tvoje distribuce je založená na balíčkovacím systému rpm a že jsi si ze stránky java.sun.com stáhnul soubor, který se jmenoval nějak jako j2re-1_4_0_03-linux-i586-rpm.bin .
Instalace se mohla seknout na dvou místech: když jsi spustil výše zmíněný soubor a začala se ti zase před očima odvíjet licence firmy Sun a nebo potom, když jsi se pokoušel příkazem $rpm -ih j2re-1_4_....rpm instalovat vzniknuvši soubor...
V každém případě zkus tohle: http://rpmfind.net/ a najít heslo J2RE nebo J2SDK . vylpivne ti to tvoje hledané rpmko a s tím budeš mít možná větší štěstí.
Ale je to fakt divný, že Ti to padá, bojím se, že chyba nebude v javě... ale kdo ví?
Zkus blíž specifikovat co máš za systém, jak to instaluješ atd...
hodně štěstí
Jáchym
P.S. Má k tomu z někdo z diskutujících opravnou poznámku?
Mel jsem pocit, ze nasinec si musi, pokud chce, aby mu fungovala cestina v javovskych programech (pokud ji teda vubec maji :-), stahnout ze sun.com nikoliv klasickou, ale mezinarodni verzi javy (a ta je krapet vetsi nez ta normalni).
Javu jsem ale pouzival jen po wokny, tak nevim, zda to pod linuxem neni jinak.
No ja bych s tou pochvalou (viz jiny comment) tak uplne nesouhlasil.
Dal bych autorovi clanku ke zvazeni, zda opravdu stale jeste trva na tom, ze pokud provede "jednoduchy test bublinkovym tridenim", PAK Z TOHO PLYNE ZE, "nativní GCJ verze je asi třikrát pomalejěší než JRE Sunu"
Mam pocit, ze k testu rychlosti JVM jsou potreba ponekud komplexnejsi testy.
Jinak nic proti Jave
Bye
Nevite, zda existuje nejaky plne funkcni a free JDK a JRE? Me aktualni zkusenosti s javovymi programy jsou ty, ze vetsinou jsou vyvijeny a odladovany pod Sun JDK a pri pouziti jinych se objevuji necekane problemy. No a prece si na svuj pocitac nebudu kvuli par javovym programum instalovat non-free Sun JRE.
Udělal jsem dle návodu, včetně opravy chyby (ten adresář s javou se ve skutečnosti jmenuje jinak, než autor uvádí), vyzkoušel jsem zanesení jak do /etc/profile tak do .bash_profile a pořád to chytá místo SUN-ovské javy Kaffe.
Nepodařilo se mi zjistit, co je tam špatně, nastavené hodnoty jsem kontroloval podle adresářového stromu zobrazeného v MC.
Existuje nějaký příkaz, který by mi vypsal hodnoty systémových proměnných JAVA_HOME atd. (abych měl kontrolu, že mají tu hodnotu, která je zapsaná v konfiguračních souborech)?
Dají se nějak tyto proměnné změnit za chodu (tedy ne čtením souborů z disku při startu počítače)?
bash mi hlásí, že "command not found".
Podivejte se, odkud neustale vykukuje to kaffe, treba pomoci "which java". Pak si zjistete, jaky balicek obsahuje ten osklivy soubor a s balickem pryc. Ten prikaz na zobrazeni promennych se jmenuje set. A prirozene muzete promenne prostredi nastavovat i za behu <g/>, "export foo=bar".
T.