Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
Na úplném začátku je nezbytné si vyjasnit jednu otázku. Co je to vlastně Java? Pojem je to trochu nejednoznačný, jelikož se v dávných dobách, snad v záchvatu čirého nadšení nad šikovnou ochrannou známkou v laboratořích společnosti Sun rozhodli pojmenovat Java úplně vše. Zpátky k původní otázce – co je to vlastně Java? Pokud hovoříme (nejen) o otevřených implementacích, je potřeba specifikovat, o které části vůbec hovoříme. Takže, co všechno je vlastně Java?
Přestože současným vlastníkem společnosti Sun Microsystems je společnost Oracle, podstatná část historie se odehrávala pod taktovkou Sunu, tudíž se budu odkazovat k názvu Sun tam, kde to z hlediska historie má smysl. Navíc, ačkoli si je autor vědom rozdílu mezi svobodným (free) a otevřeným (open source) software, v textu se budu odkazovat pouze na pojem otevřený software.
Takže, co je ta Java vlastně zač.
Jedná se o staticky typovaný, objektově orientovaný jazyk definovaný Java Language Specification. Ta říká, jak má vypadat příkaz if, jaký význam mají složené, špičaté závorky, středníky a podobně.
Binární soubor obsahující posloupnosti instrukcí pro virtuální stroj, který je vykonává. Programy v jazyce Java jsou nejčastěji překládány (ale ne nezbytně) právě do tohoto mezikódu. Mezikód je orientován na zásobníkový stroj, tudíž instrukce předpokládají operandy na zásobníku.
Standardní knihovna definuje základní sadu tříd použitelných v daném programovacím jazyce. Obsahuje třídy pro práci se vstupem a výstupem, řetězci, vlákny, síťováním, grafikou, matematikou a podobně.
Neboli Java Virtual Machine – JVM – je program vykonávající instrukce nahrávané z Java .class souboru. Ono vykonávání může být od prosté interpretace instrukcí po používání sofistikovaných technik překladu za běhu – Just In Time (JIT). Další významnou úlohou stroje je automatická správa paměti – garbage collecting. A v neposlední řadě pomáhá zakrývat rozdíly mezi platformami. Právě JVM je integrální součástí celého prostředí.
Java Runtime Environment – JRE – je tvořeno virtuálním strojem, standardní knihovnou a pár podpůrnými nástroji (keytool) potřebnými pro běh programů v Java.
Java Development Kit – JDK je JRE a další nástroje nezbytné pro překlad kódu, jako překladač javac, nástroj pro tvorbu dokumentace javadoc, nástroj pro práci s Java archívy jar, ladící nástroje, podporu pro JNI a další.
Věci jako Java webstart, Java applety, doplňkové knihovny a podobně.
Platforma Java je kombinace běhového či vývojového prostředí spolu se standardní knihovnou. Platforem existuje několik – od "klasické" Java Standard Edition, přes Java EE, což je v podstatě SE verze s obohacenou standardní knihovnou, po Java ME pro mobilní telefony, která používá jiný virtuální stroj, tak i dosti odlišnou standardní knihovnu.
Poslední právní součást je neméně důležitá – Java je registrovaná známka společnosti Oracle, tudíž ne každý software "náhodou" vypadající jako Java se tak může skutečně nazývat. Společnost Oracle umožňuje používání tohoto názvu pouze v případě, že alternativní implementace projde testy kompatibility.
Právě toto rozdělení (s výjimkou posledního bodu) usnadňuje vývoj opensource implementace – potřebujeme pouštět Java programy na speciální platformě? Napíšeme pouze virtuální stroj. Není nutné psát překladač, nebo podporu pro applety. Většina open source implementací je ve skutečnosti složena z nezávislých částí, protože proč vytvářet standardní knihovnu, když existuje použitelná otevřená verze?
Zvláštností světa kolem Javy je jeho nejednoznačný postoj k otevřenému kódu. Na jednu stranu existuje ohromné množství otevřeného kódu napsaného v tomto jazyce a vývojáři jsou zvyklí open source kód tvořit i používat. Na straně druhé z hlediska vlastního JDK/JRE existoval a existuje jednoznačný postoj používat výhradně "originál od Sunu", jakožto funkční a referenční implementaci.
Tento stav kritizoval Richard Stallman ve svém článku Java Trap. Cílem FSF (a podle něj i otevřeného software) je vytváření svobodné a otevřené platformy. Tudíž mít otevřený software, závisející na nesvobodném překladači/prostředí, je v rozporu s touto filozofií. Mimochodem stejnou filozofii zastává i většina linuxových distributorů, tudíž neexistence funkčního otevřeného Java prostředí velice ztěžovalo distribuci Java programů.
Proč vlastně vytvářet open source implementaci, když ta oficiální je zcela zdarma a funguje? Těch důvodů může být více
GNU Compiler Colection zahrnuje i podporu pro jazyk Java. Tato implementace se liší od ostatních, protože umožňuje překlad Java kódu jak do bytekódu, tak i do nativního kódu. Sada zahrnuje mimo jiné parser z ecj (Eclipse Java compiler), vlastní překladač gcj, interpret gij, a také běhové prostředí pro nativní programy a knihovny libgcj.so. GCJ se obvykle doplňuje o externí nástroje fastjar a gjdoc tak, aby vytvořilo kompletní JDK.
Běhová knihovna tohoto projektu se nazývá GNU Classpath – je to implementace Java SE 1.4.2 a 5.0 pod licencí GNU GPLv2 s takzvanou Classpath výjimkou. Ta umožňuje překlad a běh neGPL Java kódu nad GNU Classpath. Tato výjimka je nezbytná, protože každá třída v jazyce Java je odvozena od java.lang.Object, čímž by se každý kód přeložený pod touto knihovnou musel považovat za dílo odvozené od GNU GPL.
Pohled projektu GCJ na jazyk Java je odlišný – jeho autoři jej berou jako každý jiný jazyk přeložitelný do binárního kódu. Doslova jako podmnožinu C++. Rozhraní CNI potom zachovává binární kompatibilitu kódu napsaného v jazyce Java, který je po překladu kompatibilní s kódem v C++. Dále definuje typy pro zachování kompatibility, jako třeba jint v C++ == Integer v Javě.
Ambiciózní projekt Harmony pod křídly Apache Software Foundation, jednoho z největších producentů open source Java software vůbec. Jedním z cílů projektu bylo spojit existující implementace do jedné, nicméně z důvodu licenční nekompatibility mezi GNU GPLv2 a Apache licencí nebylo možné využít největší část existujícího kódu, knihovnu GNU Classpath. Projekt od počátku počítal s masivní podporou od společností jako IBM, Intel, nebo Google, které se do projektu skutečně zapojily.
Virtuální stroj napsaný na Vídeňské univerzitě. První verze byla vydána už v roce 1997 a v té době již zvládal kompilaci do nativního kódu. Pro zajímavost, JVM od jisté společnosti Sun Microsystems zvládalo podobné techniky až od roku 1999 díky HotSpot. Později byl uvolněn pod GNU GPL a používá se ve spojitosti s GNU Classpath.
Virtuální stroj poprvé vydaný v roce 1996 byl od počátku open source. Ačkoli je pomalejší než jeho konkurence, jeho výhodou je menší velikost a snadná portabilita, díky které se využívá především v embedded světě. Rovněž používá GNU Classpath.
Další z free software implementací. Ačkoli co do JIT schopností zaostává za konkurenty, jako jedna z mála alternativních implementací zvládá JVMDI (Java Virtual Machine Debugging Interface) a JDWP (Java Debug Wire Protocol).
Dalvik je virtuální stroj pro programy napsané v jazyce Java pro platformu Google Android. Velice často je kladena na roveň platformě Java a právní část otázky je předmětem aktuálně probíhajícího soudního sporu. Čistě technicky se má situace takto. Celá platforma se sestává z těchto částí:
Formát dex a celý stroj Dalvik jsou navíc registrově orientované, na rozdíl od zásobníkového Java. Android je trošku jako chytrá horákyně, nicméně "Java" to není. Jako nejlepší popis je možné uvést: platforma inspirovaná (sice možná o trochu více než třeba .NET) Javou. Není možné vzít libovolný Java program a spustit jej na platformě Android, a to jak z důvodu nekompatibility na úrovni bytekódu, tak i na úrovni standardní knihovny.
Na rozdíl od výše uvedené Android platformy je IKVM.NET skutečně Javou. Jedinou odlišností je, že celý framework je napsán v .NET a navíc obsahuje nástroje pro překlad Java kódu i do Common Intermediate Language, který pak může být přeložen do standardní .dll knihovny této platformy.
Nahlédli jsme do světa otevřených implementací platformy Java – opravdu jen nahlédli, těch implementací existuje mnohem více. Ukázali jsme si, že neexistuje pouze klasická JIT cesta (gcj) nebo že alternativní implementace mohou obsahovat zajímavé vlastnosti. V následujícím díle se zaměříme na projekty OpenJDK, Icedtea, jejich vztah k Oracle Java SE a navíc poodhalíme zákoutí Java Wars.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Přeložit si to umím, ale která konkrétně komponenta Javy (z výše uvedených) to je? Celé JRE, nebo jenom standardní knihovna?GNU CLasspath je jenom knihovna, tj rt.jar (a případně nějaký ten bordel jako plugin.jar a podobně).
Odstavec o Harmony je mi jasný ještě méně - vůbec nevím, které komponenty ho tvoří, v jakém je stavu a jaký je jeho vztah ke GNU JavaHarmony je kompletní implementace JDK, tudíž knihovna, virtuální stroj, překladač a podobně.
nebo prostě jen načíst 2 64bit čísla ze souboru a něco nad nimi provést, to je bolest.souhlasim, v normalnim jazyce se nemusis starat o velikost datoveho typu :-]]
V normalnim jazyce se nemusis starat o velikost datoveho typuMyslím, že pro mě žádný normální jazyk neexistuje, na všech mi něco vadí
kumodule
jsem udělal užitečnější práci než tihle... THIS PROJECT HAS MET ITS RESEARCH GOALS AND IS NOT ACTIVELY MAINTAINED ANYMORE.Čo je škoda, pretože na rozdiel od Sunovskej javy prešiel cez valgrind bez frflania.