• Programovací jazyk Java: kde se začít učit. Kde se používá Java? programovací jazyk Java

    Java je programovací jazyk vyvinutý společností SunMicrosystems. Java aplikace jsou obvykle kompilovány do speciálního bajtkódu, takže mohou běžet na jakémkoli Java virtuálním stroji (JVM) bez ohledu na architekturu počítače. Oficiální datum vydání je 23. května 1995. Technologie Java dnes poskytuje prostředky k přeměně statických webových stránek na interaktivní, dynamické dokumenty a k vytváření distribuovaných aplikací nezávislých na platformě.

    Java programy jsou přeloženy do bajtkódu, který je spouštěn virtuálem stroj Java(JVM) - program, který zpracovává byte kód a předává instrukce hardwaru jako interpret.

    Výhoda tohoto způsobu spouštění programů je v naprosté nezávislosti na bajtkódu operační systém a hardware, který vám umožňuje spouštět Java aplikace na jakémkoli zařízení, pro které existuje odpovídající virtuální stroj. Další důležitou vlastností technologie Java je flexibilní bezpečnostní systém díky skutečnosti, že provádění programu je zcela řízeno virtuálním strojem. Jakákoli operace, která překročí nastavená oprávnění programu (například pokus o neoprávněný přístup k datům nebo připojení k jinému počítači), způsobí okamžité přerušení.

    Mezi nevýhody konceptu virtuálního stroje často patří skutečnost, že provádění bajtkódu virtuálním strojem může snížit výkon programu algoritmů implementovaných v jazyce Java. Nedávno byla provedena řada vylepšení, která mírně zvyšují rychlost spouštění programů Java:

    Aplikace technologie převodu bajtkódu do strojového kódu přímo za provozu programu (technologie JIT) s možností ukládat verze tříd do strojového kódu,

    Široké použití platformově orientovaného kódu (nativního kódu) ve standardních knihovnách,

    Hardware, který poskytuje zrychlené zpracování bajtového kódu (například technologie Jazelle podporovaná některými procesory ARM).



    Hlavní rysy jazyka:

    Automatická správa paměti;

    Rozšířené možnosti pro řešení výjimečných situací;

    Bohatá sada nástrojů pro filtrování vstupu / výstupu;

    Sada standardních kolekcí, jako je pole, seznam, zásobník atd.;

    Dostupnost jednoduchých nástrojů pro tvorbu síťových aplikací (včetně použití protokolu RMI);

    Přítomnost tříd, které vám umožňují vytvářet požadavky HTTP a zpracovávat odpovědi;

    Vestavěné jazykové nástroje pro vytváření vícevláknových aplikací;

    Jednotný přístup k databázi:

    Na úrovni jednotlivých SQL dotazů - na bázi JDBC, SQLJ;

    Na úrovni konceptu objektů s možností ukládání do databáze - na bázi Java Data Objects a Java Persistence API;

    Podpora šablon (od verze 1.5);

    Paralelní provádění programů.

    1.4.3 Programovací jazyk C#

    V červnu 2000 se začalo vědět o novém programovacím jazyku, který se zrodil v útrobách Microsoftu. Stala se součástí nové technologie společnosti Microsoft s názvem .NET (vyslovováno „Dot Net“). V rámci této technologie je poskytováno jediné spouštěcí prostředí pro programy (Common Language Runtime, CLR) napsané v různých programovacích jazycích. Jedním z těchto jazyků, hlavním v tomto prostředí, je C # (C #, čtěte „C ostré“, „C ostré“). Název jazyka samozřejmě chtěli zdůraznit jeho příbuznost s C++, protože # jsou dva protínající se plusy. Ale nejvíc ze všeho nový jazyk podobně jako Java. A není pochyb, že jedním z důvodů jeho vzhledu byla touha Microsoftu odpovědět na výzvu Sunu.

    Autoři C# sice nejsou oficiálně jmenováni, ale na titulní strana Anders Hejlsberg, tvůrce Turbo Pascalu a Delphi, který přešel do Microsoftu v roce 1996, a Scott Wiltamuth jsou uvedeni jako jedno z předběžných vydání jazykové příručky.

    Jednotné prostředí pro provádění programu je založeno na použití mezijazyka IL (Intermediate Language - intermediate language), který plní téměř stejnou roli jako bytecode virtuálního stroje Java. Kompilátory z různých jazyků používané v rámci technologie .NET překládají programy do kódu IL. Stejně jako bajtový kód Java představuje IL kód instrukce hypotetického zásobníku. Rozdíl je ale také v konstrukci a použití IL.

    Za prvé, na rozdíl od JVM není IL vázán na jeden programovací jazyk. Předběžné verze Microsoft.NET obsahují kompilátory pro C++, C#, Visual Basic. Nezávislí vývojáři mohou přidat další jazyky vytvořením kompilátorů z těchto jazyků do kódu IL.

    Za druhé, IL není určen pro programovou interpretaci, ale pro následnou kompilaci do strojového kódu. To umožňuje dosáhnout výrazně vyššího výkonu programů. Soubory obsahující kód IL nesou dostatek informací, aby optimalizační kompilátor fungoval.

    „C# je jednoduchý, moderní, typově bezpečný objektově orientovaný jazyk odvozený z C a C++. C# bude pohodlné a srozumitelné pro programátory, kteří znají C a C++. C# kombinuje produktivitu jazyka Visual Basic se silou C++." Těmito slovy začíná popis C#.

    Zvažte technické vlastnosti jazyka:

    Kompilační jednotkou je soubor (jako v C, C++, Java). Soubor může obsahovat jeden nebo více popisů typů: třídy (třída), rozhraní (rozhraní), struktury (struct), výčty (enum), typy delegátů (delegát) s uvedením nebo bez uvedení jejich distribuce ve jmenných prostorech;

    Jmenné prostory (namespace) regulují viditelnost programových objektů (jako v C++). Jmenné prostory lze vnořovat. Je povoleno používat programové objekty bez explicitního určení jmenného prostoru, do kterého tento objekt patří. Stačí obecná zmínka o použití tohoto jmenného prostoru v direktivě using (jako v Turbo Pascalu). V direktivě using jsou aliasy pro názvy jmenných prostorů (jako v jazyce Oberon);

    Základní datové typy: 8bitové (sbyte, byte), 16bitové (short, ushort), 32bitové (int, uint) a 64bitové (long, ulong) celá čísla se znaménkem a bez znaménka, jednotlivé reálné hodnoty (float ) a dvojitá (dvojitá) přesnost, znaky Unicode (char), booleovský typ (bool, není kompatibilní s celými čísly), desítkový typ poskytující 28 platných číslic s přesností (desetinné);

    Strukturované typy: třídy a rozhraní (jako v Javě), jednorozměrná a vícerozměrná (na rozdíl od Javy) pole, řetězce (řetězec), struktury (téměř stejné jako třídy, ale nejsou umístěny na hromadě a bez dědičnosti), výčty, nekompatibilní s celými čísly (jako v Pascalu);

    Delegovat typy nebo jednoduše "delegáty" (jako procedurální typy v Module-2 a Oberon, ukazatele funkcí v C a C++);

    Typy se dělí na referenční typy (třídy, rozhraní, pole, delegáti) a hodnotové typy (elementární typy, výčty, struktury). Objekty referenčních typů jsou alokovány v dynamické paměti (haldě) a proměnné referenčních typů jsou ve skutečnosti ukazateli na tyto objekty. V případě hodnotových typů nejsou proměnné ukazatele, ale hodnoty samotné. Implicitní konverze typu jsou povoleny pouze v případě, že nenarušují bezpečnost typu nebo nezpůsobují ztrátu informací. Všechny typy, včetně elementárních typů, jsou kompatibilní s typem objektu, který je základní třídou všech ostatních typů. Existuje implicitní převod hodnotových typů na typ objektu, nazývaný boxing, a explicitní inverzní převod - unboxing;

    Automatický sběr odpadu (jako v Oberonu a Javě);

    Rozsáhlá sada operací se 14 úrovněmi priority. Předefinování operací (jako v Algol-68, Ada, C++). Pomocí zaškrtnutých a nezaškrtnutých operátorů můžete ovládat řízení přetečení při provádění operací s celými čísly;

    Metody s hodnotovými parametry, referenčními parametry (ref) a výstupními parametry (out). Slova ref a out je nutné napsat před parametr nejen v popisu metody, ale i při volání. Přítomnost výstupních parametrů umožňuje řídit provádění definujících přiřazení. Podle pravidel jazyka musí být jakékoli proměnné zaručeno, že bude mít hodnotu, než se ji pokusí použít;

    Řídicí příkazy: if, switch, while, do, for, break, continue (jako v C, C++ a Java). Příkaz foreach, který prochází každým prvkem "kolekce", několik variant příkazu goto jump;

    Zpracování výjimek (jako v Javě);

    Vlastnosti - prvky tříd (objektů), ke kterým se přistupuje stejným způsobem jako k polím (můžete přiřadit nebo získat hodnotu), ale jsou implementovány implicitně nazývanými podprogramy get a set (jako v Object Pascal - vstup jazyk systému Delphi);

    Indexery jsou prvky tříd (objektů), které vám umožňují přistupovat k objektům stejným způsobem jako k polím (zadáním indexu v hranaté závorky). Implementováno implicitně volanými rutinami get a set. Například přístup (pro čtení) ke znakům řetězce lze provádět jako prvky pole díky skutečnosti, že pro standardní třídu řetězců je implementován indexátor;

    Události jsou prvky tříd (pole nebo vlastnosti) procedurálního typu (delegáty), na které se mimo třídu, kde jsou definovány, vztahují pouze operace += a -=, které umožňují přidávat nebo odebírat metody obsluhy událostí pro objekty. této třídy;

    Nebezpečný (nebezpečný) kód používající ukazatele a aritmetiku adres je lokalizován v částech programu označených modifikátorem unsafe;

    Preprocesor, který na rozdíl od C a C++ poskytuje pouze podmíněné kompilace.

    Diskutované nedostatky C # samozřejmě jazyk vůbec nezbavují vyhlídek. V mnoha ohledech je výhodnější než C++. Obecná nespokojenost s jazykem C++, která se pozná podle samotného vzhledu nového jazyka, je jedním z hlavních předpokladů úspěchu C#.

    Při porovnání C# s Javou můžete vidět mnoho podobností. Je pravda, že pokud jsou systémy Java multiplatformní, pak implementace C # existuje zatím pouze pro operační systém Windows a pouze jeden. Ale i přes náročnost lze očekávat, že jazyk bude implementován i pro jiné systémy. Kromě toho lze samotnou platformu Microsoft .NET s prostředím pro provádění jediného programu povýšit na alternativní architektury, především na systémy UNIX.

    C# se zdá být realističtější jazyk než Java. Na rozdíl od Javy je soběstačný. To znamená, že můžete napsat jakýkoli program v C#, aniž byste se uchýlili k jiným jazykům. To je možné díky přítomnosti „nebezpečných“ bloků kódu, které otevírají přístup přímo k hardwaru. V Javě musí přístup k zařízením nízké úrovně používat „nativní metody“ (nativní metody), které musí být naprogramovány v jiných jazycích.

    A vyhlídky C # samozřejmě primárně souvisí s úsilím, které Microsoft samozřejmě vynaloží na jeho propagaci.

    jazyk Java. Úvod.

    Dlouhou dobu bylo těžké si představit počítačový časopis bez článku o jazyce Java. Psaly o něm dokonce tak populární noviny a časopisy jako The New York Times, The Washington Post a Business Week.

    Není možné si vzpomenout, že Národní veřejnoprávní rozhlas někdy věnoval desetiminutový pořad programovacímu jazyku. Jestli je to dobře nebo špatně, záleží na úhlu pohledu. A co investice ve výši 100 milionů dolarů do výroby softwaru vytvořeného pomocí konkrétního programovacího jazyka?! CNN, CNBC a další média mluvila a stále mluví o tom, jak to Java dokáže a udělá.

    Tato kniha je však pro seriózní programátory, a protože Java je seriózní programovací jazyk, musíme toho hodně probrat. Nebudeme se tedy vrhat do rozboru reklamních slibů a pokusíme se zjistit, co je na nich pravda a co fikce. Místo toho dostatečně podrobně popíšeme jazyk Java jako programovací jazyk (samozřejmě včetně funkcí, které jej umožňují používat pro práci na internetu, což ve skutečnosti způsobilo tolik reklamního humbuku). Poté se pokusíme oddělit realitu od fantazie vysvětlením toho, co jazyk Java umí a co ne.

    Mezi reklamními sliby a reálnými možnostmi jazyka Java byla nejprve propast. Jak dozrávala, technologie se stala stabilnější a spolehlivější a očekávání klesla na rozumnou úroveň. Java se nyní stále více používá k vytváření "middlewaru", který komunikuje mezi klienty a serverovými prostředky (jako jsou databáze).

    Přestože tyto důležité aplikace nejsou ohromující, právě v této oblasti se jazyk Java ukázal jako nejužitečnější díky své strojové nezávislosti, multithreadingu a možnostem síťového programování. Jazyk Java se navíc ujal vedení v oblasti vestavěných systémů (vestavěných systémů) a stal se de facto standardem přenosná zařízení, virtuální kiosky, palubní počítače v autech atd. První pokusy o přepsání rozšířených programů pro osobní počítače v Javě však byly neúspěšné – výsledné aplikace se ukázaly jako málo výkonné a pomalé. S příchodem nové verze se některé z těchto problémů vyřešily, a přesto je třeba uznat, že uživatelům je obecně úplně jedno, v jakém jazyce jsou kupované programy napsané. Věříme, že hlavní výhody jazyka Java se projeví ve vytváření nových druhů zařízení a aplikací, nikoli v přepisování stávajících programů.

    Jazyk Java jako programovací nástroj

    Jak programovací jazyk Java překonal své reklamní sliby. Nepochybně je to jeden z nejlepších jazyků, které jsou k dispozici seriózním programátorům. Java má potenciál být skvělým programovacím jazykem, ale teď už je asi pozdě. Když se objeví nový programovací jazyk, okamžitě vyvstane nepříjemný problém jeho kompatibility s dříve vytvořeným softwarem. Navíc, i když lze změny těchto programů provádět bez zásahu do jejich textu, je pro tvůrce jazyka, který je veřejností tak vřele vítán, jako je jazyk Java, obtížné přímo říci: „Ano, můžeme udělali chybu při vývoji verze X, ale verze Y bude lepší." V důsledku toho musíme při čekání na další vylepšení konstatovat, že struktura jazyka Java se v blízké budoucnosti výrazně nezmění.

    Zřejmá otázka zní: Jak byl jazyk Java vylepšen?". Ukazuje se, že k tomu nedošlo zlepšením samotného programovacího jazyka, ale zásadní změnou knihoven programů napsaných v jazyce Java. Sun Microsystems změnil vše: od názvů jednotlivých funkcí knihoven (tím, že byly smysluplnější) a způsoby provozu grafických modulů (změnou způsobu zpracování událostí a částečným přepsáním pracovních programů) až po vytvoření nových funkcí jazyka, jako jsou tiskové prostředky, které nebyly dostupné v Javě 1.0. mnohem užitečnější programovací platforma než všechny předchozí verze jazyka Java.

    Microsoft vydal svůj vlastní produkt s názvem J++, který souvisí s jazykem Java. Jazyk J++ je při provádění bajtkódu interpretován virtuálním strojem kompatibilním s Java Virtual Machine, ale rozhraní k externímu kódu se mezi těmito jazyky výrazně liší. Jazyky J++ a Java mají téměř stejnou syntaxi. Microsoft však vytvořil další jazykové konstrukce. Všechny mají dosti pochybnou hodnotu, s výjimkou Windows API. Kromě toho, že tyto jazyky mají stejnou syntaxi, jejich základní knihovny (řetězce, utility, nástroje síťového programování, multithreadingové nástroje, matematické knihovny atd.) jsou také v podstatě stejné.

    Grafické knihovny, uživatelské rozhraní a přístup ke vzdáleným objektům jsou však u těchto jazyků zcela odlišné. V současné době Microsoft již nepodporuje jazyk J++, protože vyvinul nový jazyk C#, který má mnoho podobností s Javou, ale používá jiný virtuální stroj. Tato kniha nepokrývá J++ ani C#.

    Výhody jazyka Java

    1) Jednou z hlavních výhod jazyka Java je nezávislost na platformě, na které jsou programy spouštěny: Stejný kód lze spustit pod operačními systémy Windows, Solaris, Linux, Machintosh atd.
    To je skutečně nutné, když se programy stahují přes internet pro následné spuštění pod různými operačními systémy.

    2) Další výhodou je, že syntaxe jazyka Java je podobná syntaxi jazyka C++ a pro programátory, kteří znají jazyky C a C++, není těžké se ji naučit. Pravda, pro programátory, kteří znají jazyk Visual Basic, může být tato syntaxe neobvyklá.

    Pokud jste nikdy neprogramovali v C++, některé termíny použité v této části vám nemusí být jasné. V tomto případě to můžete přeskočit. Než se dostanete na konec kapitoly 6, tyto pojmy vám budou známé.

    3) Také Java - plně objektově orientovaný jazyk, a to i v více než C++. Všechny entity v jazyce Java jsou objekty, s výjimkou několika primitivních typů, jako jsou čísla. (Protože je snadné vyvíjet složité projekty pomocí objektově orientovaného programování, nahradilo starší strukturované programování. Pokud nejste obeznámeni s objektově orientovaným programováním, kapitoly 3-6 vám poskytnou všechny informace, které o něm potřebujete.)

    Nestačí však vyvinout další, mírně vylepšený dialekt jazyka C++. Je zásadně důležité, že je snazší vyvíjet programy bez chyb v Javě než v C++. Proč? Návrháři jazyka Java dlouho a usilovně přemýšleli o tom, proč jsou programy napsané v C++ tak náchylné k chybám. Poskytli jazyku Java nástroje k odstranění samotné možnosti tvorby programů, které by skrývaly nejčastější chyby. K tomu se v jazyce Java provádí následující.

    4) Možnost explicitního přidělení a uvolnění paměti je vyloučena.
    Paměť v jazyce Java je uvolňována automaticky mechanismem garbage collection. Programátor má záruku na chyby související s nesprávným využitím paměti.

    5) Jsou zavedena skutečná pole a aritmetika ukazatele je zakázána.
    Nyní programátoři v podstatě nemohou vymazat data z paměti kvůli nesprávnému použití ukazatelů.

    6) Možnost záměny operátoru přiřazení s operátorem porovnání rovnosti je vyloučena.
    Nyní nemůžete ani zkompilovat if(ntries = 3) . . . (Programátoři Visual Basicu si zde nemusí všimnout žádného problému, protože tato chyba je zdrojem většiny zmatků v C a C++).

    7) Vícenásobná dědičnost je vyloučena. Byl nahrazen novým konceptem – rozhraním, vypůjčeným z jazyka Objective C.
    Rozhraní poskytuje programátorovi téměř vše, co může programátor získat z vícenásobné dědičnosti, přičemž se vyhýbá složitosti správy hierarchií tříd.

    Charakteristické rysy jazyka Java

    Jednoduchý
    Interpretováno
    Distribuováno
    Spolehlivý
    Bezpečný
    nezávislý na stroji
    Objektově orientovaný
    vysoký výkon
    vícevláknové
    dynamický
    Nezávislá architektura počítače

    Některých z těchto bodů jsme se již dotkli v minulé části. V této části: poskytneme citace z příručky jazyka Java, odhalující vlastnosti jazyka; sdílet se čtenáři úvahy o jednotlivých vlastnostech jazyka na základě vlastní zkušenost pracovat s jeho nejnovější verzí.

    Jednoduchý

    Chtěli jsme vytvořit systém, který se snadno programuje, nevyžaduje další školení a zohledňuje převládající praxi a standardy programování. Proto, i když jsme C++ považovali za nevhodný pro tento účel, Java byla navržena tak, aby byla co nejpodobnější, aby byl systém přístupnější. Jazyk Java neobsahuje mnoho málo používaných, obskurních a obskurních funkcí C++, o kterých jsme přesvědčeni, že způsobují více škody než užitku.

    Syntaxe jazyka Java je v podstatě vylepšenou verzí syntaxe jazyka C++. Tento jazyk nemá žádné hlavičkové soubory, aritmetiku ukazatelů (a samotné ukazatele), struktury, sjednocení, přetěžování operátorů, virtuální základní třídy a tak dále. (Rozdíly mezi jazyky Java a C++ jsou popsány v poznámkách o jazyce C++ rozesetých po celé knize.) Vývojáři se však nesnažili opravit všechny nedostatky jazyka C++.

    Například syntaxe příkazu switch v jazyce Java zůstala nezměněna. Se znalostí jazyka C++ bude snadné přejít na syntaxi jazyka Java.
    Pokud obvykle používáte vizuální programovací prostředí (jako je Visual Basic), bude pro vás jazyk Java obtížný.
    Jeho syntaxe často vypadá poněkud zvláštně (ačkoli není těžké pochopit význam výrazu). Důležitější je, že při práci v jazyce Java musíte mnohem více programovat. Krása jazyka Visual Basic spočívá v tom, že jeho vizuální programovací prostředí umožňuje téměř automaticky vytvářet aplikační infrastrukturu. Chcete-li dosáhnout stejného výsledku pomocí jazyka Java, musíte programovat ručně, ale výsledkem jsou mnohem kratší programy.

    Existuje však ještě třetí druh programovacího prostředí, které vám umožňuje vytvářet programy pomocí technologie „drag-and-drop“.

    Dalším aspektem jednoduchosti je stručnost. Jedním z cílů jazyka Java je umožnit vývoj programů, které lze provozovat zcela nezávisle na malých strojích. Velikost hlavního interpretu a podpory třídy je asi 40 KB; standardní knihovny a nástroje pro závitování (zejména samostatné mikrojádro) zabírají dalších 17:Kb.
    To je obrovský úspěch. Všimněte si však, že knihovny podpory GUI jsou mnohem větší.

    Objektově orientovaný

    Jednoduše řečeno, objektově orientované programování je programovací technika, která se zaměřuje na data (tj. objekty) a prostředky, jak k nim přistupovat. Nakreslíme-li tesařskou analogii, objektový řemeslník se primárně soustředí na židli, kterou vyrábí, a teprve sekundárně se zajímá o nástroje k tomu potřebné; přitom neobjektově orientovaný truhlář myslí jen na své nářadí. Objektově orientované vlastnosti Java a C++ jsou v podstatě stejné.

    Objektová orientace se již za posledních 30 let osvědčila a bez ní si moderní programovací jazyk nelze představit. Objektově orientované vlastnosti jazyka Java jsou srovnatelné s vlastnostmi C++. Hlavní rozdíl mezi nimi spočívá v mechanismu vícenásobné dědičnosti, pro který jazyk Java našel Nejlepší rozhodnutí, stejně jako v modelu metatříd jazyka Java.

    Mechanismy reflexe (kapitola 5) a serializace objektů (kapitola 12) umožňují implementovat perzistentní objekty a nástroje pro vytváření grafických uživatelských rozhraní na základě hotových komponent.

    Pokud jste nikdy neprogramovali v objektově orientovaném jazyce, podívejte se pozorně na kapitoly 4-6. Tyto kapitoly představují základy objektově orientovaného programování a ukazují, jak jej lze použít k vývoji složitých projektů nad tradičními procedurálními jazyky, jako je C nebo Basic.

    Distribuováno

    Java má velkou knihovnu programů pro přenos dat založených na protokolech TCP/IP (Transmission Control Protocol/Internet Protocol), jako je HTTP (Hypertext Transfer Protocol) nebo FTP ( Přenos souboru Protokol - protokol pro přenos souborů). Aplikace napsané v jazyce Java mohou otevírat a přistupovat k objektům přes síť pomocí aAdresy URL (Uniform Resource Location - Uniform Resource Location) jsou stejně snadné jako místní síť.

    Jazyk Java poskytuje výkonné a pohodlné nástroje pro práci v síti. Každý, kdo někdy zkoušel psát internetové programy v jiných jazycích, bude příjemně překvapen, jak snadno se v Javě vyřeší ty nejobtížnější úkoly, jako je otevírání síťových připojení (socket připojení). Elegantní mechanismus sestávající z tzv. servletů (servletů) maximálně zefektivňuje práci na serveru.

    Servlety jsou podporovány mnoha populárními webovými servery. (Síťování bude popsáno ve druhém díle.) Komunikaci mezi distribuovanými objekty v jazyce Java zajišťuje mechanismus volání vzdálené metody(tomuto tématu se věnuje i druhý díl).

    Spolehlivý

    Jazyk Java je navržen tak, aby vytvářel programy, které musí spolehlivě fungovat ve všech situacích. Jazyk Java se zaměřuje na včasnou detekci chyb, dynamickou kontrolu (za běhu) a vyhýbání se situacím náchylným k chybám... Jediný významný rozdíl mezi Javou a C++ je model ukazatele jazyka Java, který eliminuje možnost přepsání část paměti a poškození dat.

    Tato vlastnost je také velmi užitečná. Kompilátor jazyka Java detekuje chyby, které jsou v jiných jazycích detekovány pouze za běhu. Navíc programátoři, kteří strávili mnoho hodin hledáním chyby v poškození paměti kvůli špatnému ukazateli, budou velmi rádi, že v jazyce Java v zásadě nemohou nastat takové problémy.

    Pokud jste někdy programovali v jazycích Visual Basic nebo COBOL, které explicitně nepoužívají ukazatele, možná nechápete, proč je to tak důležité. C programátoři mají mnohem méně štěstí. Potřebují ukazatele pro přístup k řetězcům, polím, objektům a dokonce i souborům. Při programování ve Visual Basicu není nic z toho potřeba a programátor se nemusí starat o alokaci paměti pro tyto entity. Na druhou stranu, mnoho datových struktur v jazyce, který nemá ukazatele, je velmi obtížné implementovat. Obyčejné struktury jako řetězce a pole nepotřebují ukazatele. Plná síla ukazatelů se zobrazí pouze tam, kde se jich nelze obejít, například při vytváření propojených seznamů. Java programátor je navždy ušetřen špatných ukazatelů, chybných alokací a úniků paměti.

    Bezpečný

    Jazyk Java je navržen pro použití v síťovém nebo distribuovaném prostředí. Z tohoto důvodu byla věnována velká pozornost bezpečnosti. Jazyk Java umožňuje vytvářet systémy, které jsou chráněny před viry a manipulací.

    V prvním vydání jsme napsali: „Nikdy neříkej nikdy“ a měli jsme pravdu. Skupina bezpečnostních expertů z Princetonské univerzity objevila první bezpečnostní chyby v Javě 1.0 krátce po uvedení první verze JDK do prodeje. Navíc oni i další specialisté nadále nacházeli stále více chyb v bezpečnostních mechanismech všech následujících verzí jazyka Java.

    Pozitivní stránkou této situace je, že Java Language Development Group vyhlásila nulovou toleranci vůči jakýmkoliv chybám v bezpečnostním systému a okamžitě začala opravovat jakékoli problémy nalezené v bezpečnostním mechanismu appletu. Společnost Sun zejména zveřejněním interních specifikací pro interpret jazyka Java výrazně usnadnila hledání skrytých bezpečnostních chyb a zadala je nezávislým odborníkům.

    Tím se zvýšila pravděpodobnost, že budou brzy odhaleny všechny bezpečnostní chyby. V každém případě je nesmírně obtížné ošidit bezpečnostní systém jazyka Java. Dosud nalezené chyby byly téměř neznatelné a jejich počet je (relativně) malý.

    Webová stránka Sunu o zabezpečení má následující URL: http://java.sun.com/sfaq/.

    Zde jsou některé situace, kterým bezpečnostní systém Java zabraňuje.

    1) Přetečení zásobníku ve spustitelném programu způsobené nechvalně známým internetovým červem.

    2) Poškození oblastí paměti, které jsou mimo prostor přidělený procesu.

    3) Čtení a psaní místní soubory při použití zavaděče zabezpečené třídy, jako je webový prohlížeč, který takový přístup k souboru zakazuje.

    Všechna tato bezpečnostní opatření jsou vhodná a obvykle fungují bezchybně, ale diskrétnost nikdy není na škodu. I když dosud objevené chyby zdaleka nebyly triviální a podrobnosti o jejich nalezení jsou často utajovány, je třeba přiznat, že dokazování bezpečnosti jazyka Java již pravděpodobně není možné.

    Postupem času byly do jazyka přidány nové bezpečnostní prvky. Počínaje verzí 1.1 jazyk Java zavedl pojem digitálně podepsaných tříd. Použitím třídy s digitálním podpisem si můžete být jisti jejím autorem. Pokud jí důvěřujete, můžete této třídě udělit všechna oprávnění dostupná na vašem počítači.

    Alternativní mechanismus doručování kódu navržený společností Microsoft je založen na technologii ActiveX a pro zabezpečení používá pouze digitální podpisy. Je zřejmé, že to nestačí - každý uživatel softwaru společnosti Microsoft může potvrdit, že programy od známých výrobců často padají, čímž vzniká riziko poškození dat. Bezpečnostní systém v jazyce Java je mnohem silnější než technologie ActiveX, protože kontroluje aplikaci od okamžiku spuštění a nedovolí jí způsobit škodu.

    architektura nezávislá

    Kompilátor vygeneruje objektový soubor, jehož formát nezávisí na architektuře počítače – zkompilovaný program lze spouštět na libovolných procesorech pod kontrolou systému pro provádění programů Java. Za tímto účelem kompilátor jazyka Java generuje příkazy, bytecode, které nezávisí na konkrétní architektuře počítače. Bytový kód je navržen tak, že jej lze snadno interpretovat jakýmkoli strojem nebo přeložit do strojově závislého kódu za běhu.

    To není nová myšlenka. Před více než 20 lety používaly jak implementační systém Pascal vyvinutý Niclausem Wirthem, tak systém UCSD Pascal stejnou technologii. Použití bajtkódů přináší velký zisk při provádění programu (synchronní kompilace to však v mnoha případech kompenzuje). Vývojáři jazyka Java odvedli skvělou práci při vývoji sady instrukcí bajtového kódu, které skvěle fungují na většině moderních počítačů a snadno se převádějí do skutečných strojových instrukcí.

    nezávislý na stroji

    Na rozdíl od jazyků C a C++ neexistují žádné aspekty specifikace Java, které by závisely na implementačním systému. Jak velikost základních datových typů, tak aritmetické operace nad nimi jsou dobře definovány.

    Například typ int v jazyce Java vždy znamená 32bitové celé číslo. V C a C++ může typ int znamenat buď 16bitové celé číslo, 32bitové celé číslo, nebo celé číslo libovolné velikosti, podle výběru vývojáře konkrétního kompilátoru. Jediným omezením je, že velikost int nemůže být menší než velikost short int a větší než velikost long int. pevná velikost číselné typy vám umožní vyhnout se mnoha nepříjemnostem spojeným se spouštěním programů na různých počítačích. Binární data jsou ukládána a přenášena v pevném formátu, což také zabraňuje nedorozuměním spojeným s různým pořadím bajtů na různých platformách (konflikt „big endian/little endian“). Řetězce jsou uloženy ve standardním formátu Unicode.

    Knihovny, které jsou součástí systému, definují rozhraní nezávislé na počítači. Například jazyk má abstraktní třída Window a jeho implementace pro operační systémy Unix, Windows a Macintosh.

    Každý, kdo se někdy pokusil napsat program, který běží stejně dobře na Windows, Macintoshi a deseti variantách Unixu, ví, že je to velmi obtížný úkol. Verze Java učinila hrdinský pokus vyřešit tento problém poskytnutím jednoduché sady nástrojů, která přizpůsobuje běžné prvky uživatelského rozhraní velkému počtu softwarové platformy. Knihovna, na které bylo vynaloženo mnoho práce, nám bohužel neumožnila dosáhnout přijatelných výsledků na různých platformách. (Zároveň se v grafických programech na různých platformách objevily různé chyby.)

    To však byl jen začátek. V mnoha aplikacích je nezávislost na stroji mnohem důležitější než sofistikovanost grafického uživatelského rozhraní. Právě tyto aplikace těžily ze zavedení Java 1.0. Sada nástrojů GUI však byla nyní zcela přepracována a již není závislá na uživatelském rozhraní hostitelského počítače. Nová verze je smysluplnější a podle nás i atraktivnější pro uživatele než ty předchozí.

    Interpretováno

    Interpret jazyka Java lze poslat na jakýkoli stroj a spustit bytecode přímo na něm. Vzhledem k tomu, že úprava odkazů je jednodušší proces, programování může být mnohem rychlejší a efektivnější.

    Možná je to výhoda při vývoji aplikací, ale citace je jasná nadsázka. V každém případě je kompilátor jazyka Java obsažený v JSDK (Java Software Development Kit) poměrně pomalý. (Některé kompilátory třetího druhu, jako je IBM, jsou mnohem rychlejší.) Rychlost rekompilace je pouze jedním z faktorů efektivity programovacího prostředí. Při porovnání rychlosti programovacích prostředí Java a Visual Basic můžete být zklamáni.

    vysoký výkon

    Zatímco obecně interpretované bajtové kódy mají více než dostatečný výkon, existují situace, kdy je vyžadován ještě lepší výkon. Bytekódy lze za běhu (za běhu) překládat na strojové kódy pro konkrétní procesor, na kterém aplikace běží.

    Pokud ke spouštění bajtových kódů používáte překladač, nepoužívejte frázi „vysoký výkon“. Na mnoha platformách je však možný jiný druh kompilace, poskytovaný synchronními kompilátory (just-in-time kompilátory-JIT). Přeloží bajtkód do kódu specifického pro stroj, uloží výsledek do paměti a v případě potřeby jej zavolají. Vzhledem k tomu, že výklad se provádí pouze jednou, tento přístup značně zvyšuje rychlost práce.

    I když jsou synchronní kompilátory stále pomalejší než strojově specifické kompilátory, jsou přinejmenším mnohem rychlejší než tlumočníci a poskytují 10x nebo dokonce 20x zrychlení pro některé programy. Tato technologie se neustále zlepšuje a nakonec může dosáhnout rychlosti, kterou tradiční kompilátory nikdy nepřekonají. Synchronní kompilátor může například určit, která část kódu se spouští častěji, a optimalizovat ji pro rychlost provádění.

    VÍCEvláknové

    Poskytuje lepší interaktivitu a provádění programu.

    Pokud jste někdy zkoušeli multithreading v jakémkoli jiném programovacím jazyce, budete příjemně překvapeni, jak snadné je to udělat v Javě. Vlákna v jazyce Java mohou využívat výhod víceprocesorových systémů, pokud to operační systém umožňuje. Implementace vláken na většině platforem se bohužel velmi liší a návrháři jazyka Java se nesnaží dosáhnout jednotnosti. Pouze kód pro volání vláken zůstává stejný pro všechny stroje; Jazyk Java ponechává implementaci multithreadingu na základním operačním systému nebo knihovně vláken. (Vlákna jsou popsána ve 2. dílu.) Navzdory tomu je to právě snadnost multithreadingu, co činí Java tak atraktivní pro vývoj serverového softwaru.

    dynamický

    Java je v mnoha ohledech dynamičtější než C nebo C++. Byl navržen tak, aby se snadno přizpůsobil neustále se měnícímu prostředí. Do knihoven můžete volně přidávat nové metody a objekty, aniž by došlo k poškození. Jazyk Java usnadňuje získávání informací o průběhu programu.

    To je velmi důležité, když chcete přidat kód do programu, který již běží. Ukázkovým příkladem toho je kód, který je stažen z internetu pro spuštění prohlížečem. V Javě 1.0 nebylo snadné získat informace o průběhu spouštěného programu, ale současná verze jazyka Java odhaluje programátorovi jak strukturu, tak chování objektů ve spouštěném programu.
    To je velmi cenné pro systémy, které musí analyzovat objekty během provádění programu. Tyto systémy zahrnují nástroje GUI, inteligentní ladicí programy, zásuvné moduly a databáze objektů.

    Jazyk Java a internet

    Myšlenka je jednoduchá – uživatelé si stáhnou bajtové kódy Java z internetu a spouštějí je na svých počítačích. Java programy, které běží na webových prohlížečích, se nazývají applety. K použití apletu potřebujete webový prohlížeč, který podporuje jazyk Java a je schopen interpretovat bajtové kódy. Zdrojový kód Java je licencován společností Sun, která trvá na neměnnosti jak jazyka samotného, ​​tak struktury jeho základních knihoven. Bohužel realita taková není. Různé verze prohlížečů Netscape a Internet Explorer podporují různé verze jazyka Java a některé z těchto verzí jsou značně zastaralé. Tato nešťastná situace vytváří stále více překážek pro vývoj apletů pro využití nejnovější verze jazyka Java. K vyřešení tohoto problému vyvinul Sun Java Plug-in, který poskytuje nejpokročilejší prostředí pro spouštění Java programů založených na prohlížečích Netscape a Internet Explorer.

    Načtení apletu je jako vložení obrázku do webové stránky. Aplet se stane součástí stránky a text se obtéká kolem prostoru, který zabírá. Rozdíl je však v tom, že obraz je nyní živý. Reaguje na uživatelské příkazy, mění své vzhled a zajišťuje přenos dat mezi počítačem, na kterém je aplet zobrazen, a počítačem, který aplet řídí.

    Načtení apletu je jako vložení obrázku do webové stránky. Aplet se stane součástí stránky a text se obtéká kolem prostoru, který zabírá. Faktem je, že obraz je „živý“. Reaguje na uživatelské příkazy, mění svůj vzhled a přenáší data mezi počítačem, na kterém je spuštěn applet, a počítačem, na kterém je spuštěn applet.

    Na Obr. Obrázek 1.1 ukazuje dobrý příklad dynamické webové stránky, která provádí složité výpočty a používá aplet pro kreslení molekul. Chcete-li lépe porozumět struktuře molekuly, můžete ji otáčet nebo přibližovat pomocí myši. Takové manipulace nelze provést na statické webové stránky, ale applety to umožňují. (Tento aplet lze nalézt na http://jmol.sourceforge.net.)

    Rýže. 1.1. Jmol applet

    Applety lze použít k přidání nových tlačítek a textových polí na webovou stránku. Tyto aplety se však po telefonní lince načítají pomalu.

    Totéž lze provést s dynamickým HTML, formami HTML (Hypertext Markup Language) nebo skriptovacím jazykem, jako je JavaScript. První applety byly samozřejmě navrženy pro animaci: rotující zeměkoule, tančící kreslené postavičky, umělecké texty a tak dále. Většina z výše uvedených však také umí vytvářet animované GIFy a dynamické HTML v kombinaci se skriptováním umí mnohem více než applety.

    V důsledku nekompatibility prohlížečů a nekonzistentního načítání přes pomalá síťová připojení nebyly aplety navržené pro webové stránky velkým úspěchem. V lokálních sítích (intranetech) je situace zcela odlišná. Obvykle nemají problémy s šířkou pásma, takže doba načítání apletu není podstatná. V místní síti si můžete vybrat požadovaný prohlížeč nebo použít Java Plug-In. Zaměstnanci nemohou přesunout program dodaný po síti na nesprávné místo nebo jej nesprávně nainstalovat a správce systému nemusí obcházet a aktualizovat programy na všech klientských počítačích. Velké množství programů pro účtování zásob, plánování dovolené, proplácení cestovních náhrad a podobně vyvinulo mnoho korporací ve formě appletů pomocí prohlížečů.

    Zatímco jsme psali tuto knihu, kyvadlo se vrátilo od programování na straně klienta k programování na straně serveru. Aplikační servery mohou zejména využívat monitorovací schopnosti Java Virtual Machine k automatickému vyvážení zátěže, sdružování odkazů na databázi, synchronizaci objektů, bezpečnému vypínání a opětovnému načítání a provádění dalších procesů nezbytných pro škálovatelné serverové aplikace, které je téměř nemožné správně implementovat. Programátoři, kteří vytvářejí aplikace, tak mají možnost si tyto složité mechanismy koupit, místo aby je sami vyvíjeli. To zvýšilo produktivitu programátorů - zaměřili se na logiku svých programů a nenechali se rozptylovat detaily spojenými s provozem serverů.

    Poslední aktualizace: 26.09.2018

    Java je dnes jedním z nejrozšířenějších a nejoblíbenějších programovacích jazyků. První verze jazyka se objevila již v roce 1996 v útrobách Sun Microsystems, kterou později pohltil Oracle. Java byla koncipována jako univerzální programovací jazyk, který lze použít pro různé druhy úloh. A nyní jazyk Java ušel dlouhou cestu, bylo publikováno mnoho různých verzí. Aktuální verze je Java 11, která byla vydána v září 2018. A Java se vyvinula z pouhého univerzálního jazyka v celou platformu a ekosystém, který spojuje různé technologie používané v různých úkolech: od vytváření desktopových aplikací až po psaní velkých webových portálů a služeb. Kromě toho se jazyk Java aktivně používá k vytváření softwaru pro řadu zařízení: běžné počítače, tablety, smartphony a mobilní telefony a dokonce i domácí spotřebiče. Stačí připomenout popularitu mobilního OS Android, pro který je většina programů napsána v Javě.

    Funkce Java

    Klíčovým rysem jazyka Java je, že jeho kód je nejprve přeložen do speciálního bajtkódu nezávislého na platformě. A pak je tento bajtkód spuštěn virtuálním strojem JVM (Java Virtual Machine). V tomto ohledu se Java liší od standardních interpretovaných jazyků, jako je PHP nebo Perl, jejichž kód je okamžitě spuštěn interpretem. Java zároveň není čistě kompilovaný jazyk jako C nebo C++.

    Tato architektura poskytuje multiplatformní a hardwarovou přenositelnost Java programů, takže takové programy lze provozovat na různých platformách – Windows, Linux, Mac OS atd. bez rekompilace. Každá platforma může mít svou vlastní implementaci JVM, ale každá z nich může spouštět stejný kód.

    Java je jazyk se syntaxí podobnou C a je v tomto ohledu blízký C/C++ a C#. Pokud tedy znáte jeden z těchto jazyků, bude zvládnutí Javy jednodušší.

    Další klíčovou vlastností Javy je, že podporuje automatický sběr odpadu. A to znamená, že nemusíte ručně uvolnit paměť z dříve používaných objektů, jako v C++, protože garbage collector to automaticky udělá za vás.

    Java je objektově orientovaný jazyk. Podporuje polymorfismus, dědičnost, statické typování. Objektově orientovaný přístup nám umožňuje řešit problémy budování velkých, ale zároveň flexibilních, škálovatelných a rozšiřitelných aplikací.

    Instalace Java

    Aby programy Java fungovaly, musí být na cílovém počítači nainstalováno prostředí JRE (Java Runtime Environment). JRE představuje minimální implementaci virtuálního stroje a také knihovny tříd. Pokud tedy chceme spouštět programy, musíme nainstalovat JRE. Každá konkrétní platforma má svou vlastní verzi JRE.

    Protože však budeme programy nejen spouštět, ale i vyvíjet, budeme potřebovat speciální vývojový kit JDK (Java Development Kit). JDK již obsahuje JRE a také řadu z nich doplňkové programy a nástroje, zejména kompilátor Java.

    Příslušnou verzi JDK si můžete stáhnout a nainstalovat z oficiálního webu Oracle: http://www.oracle.com/technetwork/java/javase/downloads/index.html

    Z výše uvedené adresy si tedy stáhněte instalační program JDK pro nejnovější verzi Javy.

    Poté budeme přesměrováni na stránku, kde musíme vybrat verzi pro cílový OS - Windows, MacOS nebo Linux:

    Pro každý OS existují dvě možnosti stažení: jako instalátor nebo jako archiv, který není třeba instalovat. Například můj OS je Windows, takže si stáhnu soubor jdk_11_windows-x64_bin.exe, který představuje instalační program.

    Po stažení spusťte instalační program:

    Ponechte všechny možnosti jako výchozí a kliknutím na Další dokončete instalaci.

    Po dokončení instalace JDK uvidíme následující okno:

    Po instalaci JDK tedy vytvoříme první Java program.

    06.11.17 9551

    V této příručce probereme vše, co potřebujete vědět před zahájením studia. programování zapnuto Jáva. Dozvíte se o možnostech platformy, její aplikaci a také o tom, jak se správně začít učit Javu.

    Co je to programovací jazyk Java?

    V roce 1991 Green Team, divize společnosti Sun Microsystems, vedl o James Gosling, vytvořil jazyk pro programování zařízení spotřební elektroniky. Tehdy se tomu říkalo Dub ("Dub"). Proč "Dub"? Jednoduše proto, že tento strom rostl za oknem Goslingovy kanceláře.

    Zelený tým předvedl použití dubu v interaktivní televizi. Ale pro digitální kabelovou televizi těch let byla tato technologie příliš pokročilá. Ve stejné době získával na oblibě internet, pro který byl nový programovací jazyk nejvhodnější.

    Po nějaké době byl nový jazyk přejmenován na zelený a poté na Jávu, na počest kávy z ostrova Jáva. Proto logo Java zobrazuje hrnek kávy.

    Během vývoje Javy bylo populární C/C++, takže Gosling udělal syntaxi jazyka podobnou C/C++ a implementoval pro něj princip „ napište jednou - běžte kamkoli". V roce 1995 Sun Microsystems vydal první oficiální verze Jáva. A zároveň bylo oznámeno, že Java bude zahrnuta do prohlížeče Netscape Navigator.

    V roce 2010 společnost Sun Microsystems spolu s programovacím jazykem Java získala společnost Oracle Corporation.

    Historie verzí Java

    1. Červen 1991 - zahájení developerského projektu programovací jazyk Jáva.
    2. JDK 1.0 – leden 1996.
    3. JDK 1.1 – únor 1997.
    4. J2SE 1.2 – prosinec 1998.
    5. J2SE 1.3 – květen 2000.
    6. J2SE 1.4 – únor 2002.
    7. J2SE 5.0 – září 2004.
    8. Java SE 6 – prosinec 2006.
    9. Java SE 7 – červenec 2011.
    10. Java SE 8 – 18. března 2014.
    11. Java SE 9 – 21. září 2017.

    Funkce programovacího jazyka Java

    Java - multiplatformní jazyk

    Java kód napsaný na jedné platformě ( tedy operační systém) lze beze změny provozovat na jiných platformách.

    Virtuální stroj Java se používá ke spuštění Java ( Java Virtual Machine, JVM). JVM zpracuje bajtový kód, načež procesor zpracuje kód přijatý z JVM. Všechny virtuální stroje fungují podobně, takže stejný kód funguje stejným způsobem na všech operačních systémech, což z Javy dělá multiplatformní programovací jazyk.

    Objektově orientovaný programovací jazyk

    Existují různé styly programování a jedním z nejoblíbenějších je objektově orientované programování. S tímto přístupem se složitý problém rozkládá na menší vytvářením objektů. Díky tomu je kód znovu použitelný.

    Objektově orientované funkce lze nalézt v mnoha programovacích jazycích, včetně Javy, Pythonu a C++. Pokud to s učením programování myslíte vážně, měli byste do svého učebního plánu zahrnout objektově orientovaný přístup.

    Java je rychlá

    Rané verze programovací jazyk Java byla často kritizována pomalá práce. Dnes se ale situace dramaticky změnila. Nové verze JVM jsou mnohem rychlejší a procesory, které je interpretují, jsou stále rychlejší.

    Java je dnes jedním z nejrychlejších programovacích jazyků. Dobře optimalizovaný kód Java běží téměř stejně rychle jako nízkoúrovňové programovací jazyky jako C/C++ a mnohem rychleji než Python, PHP atd.

    Java je bezpečná platforma

    Java je:

    • bezpečná platforma pro vývoj a provoz aplikací;
    • poskytuje prostředky na automatické ovládání paměť, která snižuje zranitelnost kódu;
    • zajišťuje bezpečný přenos dat.

    Rozsáhlá základní knihovna

    Jedním z důvodů širokého přijetí Javy je její obrovská standardní knihovna. Obsahuje stovky tříd a metod z různých balíčků, které vývojářům usnadňují život. Např,

    java.lang jsou pokročilé funkce pro řetězce, pole atd.

    java.util je knihovna pro práci s datovými strukturami, regulárními výrazy, daty a časy atd.

    kava.io - knihovna pro vstup/výstup souborů, zpracování výjimek atd.

    Použití platformy Java

    Než se naučíte Java programování od nuly, musíte vědět, že na této platformě běží více než 3 miliardy zařízení po celém světě. Na co přesně se dá použít:

    1. Aplikace pro Android – K vývoji aplikací pro Android se často používá programovací jazyk Java ve spojení s Android SDK ( z anglického software development kit - software development kit).
    2. Webové aplikace – Java se používá k vytváření webových aplikací pomocí serverových programů, rámce Struts a JSP. Zde jsou některé oblíbené webové aplikace napsané v Javě: Google.com, Facebook.com, eBay.com, LinkedIn.com.

    Stojí za zmínku, že tyto stránky nejsou nutně napsány výhradně v Javě a mohou používat i jiné programovací jazyky.

    1. Vývoj softwaru- Programy jako Eclipse, OpenOffice, Vuze, MATLAB a mnoho dalších jsou napsány v Javě.
    2. Zpracování velkých dat - pro zpracování "velkých dat" Můžete použít framework Hadoopwritten v Javě.
    3. Obchodní systémy- pomocí platformy Oracle Extreme Java Trading Platform, můžete psát programy pro obchodování.
    4. Vestavěná zařízení- Miliardy zařízení, jako jsou televizory, SIM karty, přehrávače Blu-ray atd., jsou dnes poháněny technologií Java Embedded společnosti Oracle.

    Taky programování zapnuto Java se používá k vývoji her, vědeckých aplikací ( například pro zpracování přirozeného jazyka) a v mnoha dalších oblastech.

    Java terminologie, kterou byste měli znát

    Java je soubor technologií ( programovací jazyk a počítačová platforma) určené k vytváření a spouštění softwaru. Termín Java se však často používá pro označení samotného programovacího jazyka.

    Programovací jazyk Java je multiplatformní objektově orientovaný programovací jazyk obecný účel s širokými možnostmi.

    Java 9 je nejnovější verzí Javy v době psaní tohoto článku.

    Java EE, Java Me a Java SE – tyto názvy znamenají Java Enterprise Edition, Micro Edition a Standard Edition.

    Java EE je zaměřena na aplikace, které běží na serverech. Java ME je navržena pro zařízení s omezeným výkonem, jako jsou vestavěná zařízení. Java SE je standardní edice Javy pro psaní běžných programů.

    Pokud jste noví Java programování, doporučujeme začít s Java SE .

    JVM – Java Virtual Machine (" virtuální stroj Java") je program, který umožňuje počítači spouštět programy napsané v Javě.

    JRE – Java Runtime Environment (" Java runtime”) zahrnuje JVM, související knihovny a další komponenty potřebné ke spouštění programů. JRE ale nemá kompilátor, debugger ani jiné vývojové nástroje.

    JDK - Java Development Kit Java vývojář) obsahuje JRE a další vývojové nástroje, jako jsou kompilátory, debuggery atd.

    Jak spustit Java na vašem operačním systému

    Jak spustit Java na Mac OS

    Zde je to, co udělat pro Javu programování od nuly a instalace platformy na Mac OS X nebo macOS:

    1. Stáhněte si nejnovější verzi Java ( JDK) s Stránky pro stahování Java SE.
    2. Dvakrát klikněte na stažený soubor DMG a postupujte podle pokynů instalačního programu.
    3. Chcete-li ověřit instalaci, otevřete terminál a zadejte následující příkaz:

    javac - verze

    Pokud je Java správně nainstalována, zobrazí se verze programu ( např. javac 1.8.0_60).

    Dalším krokem je instalace IDE ( integrované vývojové prostředí) psát a spouštět kód Java. Nainstalujeme bezplatnou verzi IntelliJ IDEA a spusťte na něm Javu. Zde je to, co pro to musíte udělat:

    1. Jít do Stránka ke stažení IntelliJ a stáhněte si bezplatnou komunitní edici.
    1. Otevřete stažený soubor DMG a postupujte podle pokynů k instalaci. Pro rychlý přístup IntelliJ IDEA můžete přesunout do složky Aplikace.
    2. Otevřete IntelliJ IDEA. Vyberte možnost „Neimportovat nastavení“ („ Neimportujte nastavení"") a klikněte na " OK» . Poté přijměte zásady ochrany osobních údajů Jetbrains kliknutím na tlačítko „Přijmout“.
    3. Nyní si můžete přizpůsobit rozhraní pro sebe. Tento krok můžete také přeskočit a ponechat vše jako výchozí. Pokud si nejste jisti, jednoduše tento krok přeskočte kliknutím na „Přeskočit vše a nastavit výchozí“ (" Přeskočte vše a nastavte výchozí nastavení»).

    1. Program vám zobrazí uvítací stránku. Klikněte na "Vytvořit nový projekt" (" Vytvořte nový projekt»).
    2. V dalším okně vyberte " Java"V levém panelu a klikněte na" Nový"V horní části okna programu vyberte" JDK» . Zde musíte vybrat místo, kam jste nainstalovali JDK, a poté klikněte na Další.

    1. Budete mít možnost vytvořit projekt ze šablony ("Vytvořit projekt ze šablony"). Ignorujeme to a stiskneme tlačítko „ Další» .
    2. Další krok instalace programovací jazyk Java, zadejte název projektu a klikněte na tlačítko „ Dokončit» .
    3. V levém podokně uvidíte svůj projekt. Pokud panel není vidět, přejděte do nabídky Pohledy > Okna nástrojů > Projekt.
    4. Přejděte na Hello > New > Java a nastavte název třídy. Pojmenovali jsme to První.

    1. Chcete-li spustit program, který jste právě napsali, přejděte na Spustit > Spustit... Klikněte na První ( to je název souboru, který jsme vytvořili

    Jak spustit Java na Linuxu

    Chcete-li spustit příklady z lekce programování od nuly Java na Linuxu bude potřebovat JAVA SE Development Kit ( JDK) a IDE pro vývoj vašich projektů. Chcete-li začít s Javou, postupujte podle pokynů krok za krokem.

    Nainstalujte Javu

    1. Otevřete terminál a zadejte následující příkaz Java instalace:

      sudo add-apt-repository ppa:webupd8team/java


      aktualizace sudo apt; sudo apt install oracle-java8-installer

    1. Akceptovat licenční smlouva a podmínky použití kliknutím na „OK“ a „Ano“.
    2. Nainstalovali jste Javu. Chcete-li zkontrolovat, zda byla instalace úspěšná, zadejte do terminálu následující příkaz:

    java-verze

    Pokud je zobrazena aktuální verze, instalace proběhla úspěšně. Pokud ne, zkontrolujte u Stránka nápovědy Oracle.

    Instalace IntelliJ IDEA

    1. Jít do .

    1. Stáhněte si bezplatnou komunitní edici kliknutím na tlačítko Stáhnout.
    2. Po stažení změnit adresář v terminálu do adresáře pro stahování a extrahujte soubor Java tar do složky /opt pomocí následujícího příkazu:

    sudo tar xf .tar.gz -C /opt/

    1. Po rozbalení změňte adresář na složku IntelliJ IDEA bin:

      cd /opt/ /zásobník

    2. Chcete-li spustit IDE, zadejte následující příkaz:
    3. Zvolte "Neimportovat nastavení" (" Neimportujte nastavení"") a klikněte na "OK". Poté přijímáme zásady ochrany osobních údajů Jetbrains kliknutím na tlačítko „Přijmout» .
    4. Nyní k předání kurzy programování Java vám může přizpůsobit rozhraní. Vytvořte zástupce na ploše pro rychlý přístup k programu. Poté, chcete-li spustit IDE, klikněte na „Další“Ve všech následujících krocích.
    5. Program zobrazí uvítací stránku. Klikněte na "Vytvořit nový projekt" (" Vytvořte nový projekt»).
    6. V dalším okně vyberte v levém podokně Java a ujistěte se, že je v řádku Project SDK vybrána Java. Pokud ne, vyberte umístění, kam jste nainstalovali JDK: /usr/lib/jvm/java-8-oracle.

    1. Klikněte dvakrát na „Další“ a vytvořte projekt.
    2. V dalším kroku zadejte název projektu a klikněte na tlačítko „ Dokončit» . Nyní uvidíte svůj projekt v levém podokně. Pokud tento panel není vidět, přejděte do nabídky Pohledy > Okna nástrojů > Projekt.
    3. Přidejte novou třídu Java. Vyberte src v levém podokně kliknutím pravým tlačítkem a přejděte na Nový > Java Class. Nastavte název třídy. Název třídy nesmí obsahovat mezery.

    1. Napište Java kód a uložte projekt.
    2. Chcete-li program spustit, přejděte na Spustit > Spustit... Klikněte na HelloWorld ( Název projektu) - program zkompiluje soubor a spustí jej.

    Jak spustit Java ve Windows (XP, 7, 8 a 10)

    Naučit se Javu základy programování a provozování platformy na Windows, budete potřebovat JAVA SE Development Kit (JDK) a IDE pro vývoj projektu. Postupujte podle níže uvedených pokynů krok za krokem:

    Instalace Java

    • Jít do stránka ke stažení Java Standard Edition Development Kit.
    1. V sekci Java SE Development Kit v horní části tabulky klikněte na "Přijmout licenční smlouvu" (" Přijměte licenční smlouvu"). Poté klikněte na odkaz Windows (x64), pokud máte 64bitový operační systém nebo Windows (x86), pokud máte 32bitový operační systém.

    1. Po stažení spusťte instalační soubor a postupujte podle pokynů, které se objeví na obrazovce. Klikněte na " další". Vyberte všechny funkce kliknutím na " Tato funkce bude nainstalována na místní pevný disk" a zkopírujte umístění instalace ( je zvýrazněna žlutě) v poznámkovém bloku a poté znovu stiskněte " další».

    1. Během procesu instalace budete vyzváni k instalaci JRE. Klepnutím na tlačítko Další a potom na tlačítko Dokončit instalaci dokončete.
    2. Nyní musíte upravit proměnnou PATH. Jít do Ovládací panely > Systém a zabezpečení > Systém. V levém podokně vyberte " Pokročilé systémové nastavení.

    1. Klikněte na " Proměnné prostředí". V kapitole" Systémové proměnné» vyhledejte proměnnou PATH a v dalším okně klikněte na "Upravit".

    1. Vyberte veškerý text v " proměnná hodnota" a zkopírujte jej do samostatného textového souboru. Usnadníte tak úpravy a kontrolu chyb. Podívejte se, zda zkopírovaný text obsahuje řádek: C : ProgramData Oracle Java javapath ; . Pokud ano, můžete přejít k dalšímu kroku. Pokud ne, vložte umístění instalace, které jste zkopírovali dříve, na začátek proměnné a přidejte bin na konec řádku takto: C : Program Files (x 86) Java jdk 1.8.0_112 bin ; Vezměte prosím na vědomí, že vaše verze JDK (jdk 1.8.0_112) se může lišit. Zkopírujte hodnotu proměnné a vložte ji do pole PATH.

    1. Klikněte na " OK' pro uložení změn.
    2. Chcete-li zkontrolovat, zda je platforma správně nainstalována úvod do programování Java, otevři příkazový řádek, zadáním cmd do vyhledávacího pole Windows nebo pomocí příkazu "Spustit ..." ( Windows-R). Zadejte příkaz java -version. Pokud je zobrazena aktuální verze Java, instalace proběhla úspěšně. Pokud ne, zkontrolujte u Stránka nápovědy Oracle.

    Instalace IntelliJ IDEA

    1. Jít do Stránka ke stažení IntelliJ IDEA.
    2. Stáhněte si bezplatnou komunitní edici kliknutím na Stáhnout.

    1. Po stažení spusťte instalační soubor a postupujte podle pokynů, které se objeví na obrazovce. Poté vytvořte zástupce na ploše pro 64bitovou verzi a přidejte přidružení s příponou .java. Klikněte na "Další"A pokračujte v instalaci.

    1. Po instalaci otevřete IntelliJ IDEA kliknutím na ikonu na ploše.
    2. Vyberte "Neimportovat nastavení" (" Neimportujte nastavení”) a klikněte na OK. Poté přijímáme zásady ochrany osobních údajů Jetbrains kliknutím na „Přijmout“.
    3. Nyní si můžete přizpůsobit rozhraní pro sebe. Tento krok můžete také přeskočit a ponechat vše jako výchozí kliknutím na tlačítko Přeskočit vše a nastavit výchozí.
    4. Program zobrazí uvítací stránku. Klikněte na "Vytvořit nový projekt" (" Vytvořte nový projekt»).

    1. V dalším okně vyberte v levém podokně „Java“ a kliknutím na „Nový“ v horní části okna programu vyberte JDK. Zde musíte vybrat umístění, kam byl JDK nainstalován během instalace Java, a poté klikněte na „ Další“.
    2. IntelliJ IDEA najde JDK a rozpozná jej. Není třeba zaškrtávat žádné další možnosti, stačí kliknout na „ Další» .
    3. Na další obrazovce zadejte název projektu: HelloWorld a klikněte na Dokončit. Pokud program říká, že adresář neexistuje, klepněte na OK. Pokud levé podokno nevidíte, přejděte na Zobrazení > Okna nástrojů > Projekt .
    4. Chcete-li nastavit název třídy, vyberte složku src v levém podokně. Klikněte na něj pravým tlačítkem, přejděte na Nový > Java a pojmenujte třídu. Název třídy nesmí obsahovat mezery.

    1. Napište kód a uložte Java Project lekce programování.
    2. Pro spuštění programu přejděte do nabídky Spustit > Spustit... Klikněte na HelloWorld - program zkompiluje soubor a spustí jej.

    Váš první Java program

    Chcete-li uživatelům představit nový programovací jazyk, použijte program Hello World („Ahoj světe!“). Tento jednoduchý program, který zobrazuje slova Hello, World ! V této části vás naučíme, jak napsat tento Java program pomocí IntelliJ IDEA.

    1. Otevřete IntelliJ IDEA.
    2. Přejděte na Soubor > Nový >
      1. Stiskněte tlačítko start ( Běh). Pokud je vše v pořádku, uvidíte na obrazovce nápis Hello, World!

      Jak se naučit Javu?

      Oficiální Java dokumentace

      Oracle, společnost, která vlastní Javu, vydává kvalitní návody. Oficiální dokumentace pokrývá všechny funkce Java a je pravidelně aktualizována.

      Poznámka: Jedinou nevýhodou je, že oficiální dokumentace Java není vždy napsána v nejjednodušším možném jazyce.

      Pokud se opravdu chcete učit programování v Java, kup si dobrou knihu. 1000 stran se samozřejmě nedá přečíst za jeden den. Dobrá učebnice vám ale pomůže naučit se programovat.

      Java: Kompletní průvodce (10. vydání)

      Skvělá kniha pro ty, kteří se teprve začínají učit Javu. Nejnovější vydání obsahuje všechny funkce verze Java 8.

      Kniha obsahuje vše, co potřebujete vědět o programování v jazyce Java, včetně syntaxe, klíčových slov a základů programování, stejně jako knihovnu Java API, aplety Java a další.

      Java Philosophy (4. vydání)

      Pokud přecházíte na Javu z jiného programovacího jazyka, je tato kniha určena právě vám. Pokud začínáte od nuly, je nejlepší si ji přečíst spolu s jinou.

      Java 8. Pocket Reference: První pomoc pro programátory Java

      Tato kniha obsahuje jasné odpovědi na otázky, které vyvstanou při učení J ava programování od nuly. Stručně pokrývá všechny základní koncepty Javy (včetně Java 9). Nechce se vám listovat stovkami stránek a hledat ten správný řádek? Kupte si tuto knihu.

      Místo závěru

      Pokud se začnete učit Javu, nemůžete udělat chybu – jedná se o slibný programovací jazyk plný široké škály možností.

      Než se začnete učit Javu, zde je několik tipů:

      • Nečtěte výukové články a příklady jako román. Jediný způsob, jak se stát dobrý programátor- napsat hodně kódu.
      • Pokud migrujete z jiného programovacího jazyka ( řekněte Ještě jsem nehlasoval

        Dobrý špatný

    Odeslat svou dobrou práci do znalostní báze je jednoduché. Použijte níže uvedený formulář

    Studenti, postgraduální studenti, mladí vědci, kteří využívají znalostní základnu ve svém studiu a práci, vám budou velmi vděční.

    Vloženo na http://www.allbest.ru/

    Úvod

    2. Přednosti jazyka

    2.1 Zabezpečení

    2.3 Spolehlivost

    2.4 Interaktivita

    2.7 Snadné učení

    3. JAVA applety

    5. JAVA mobilita

    Závěr

    Bibliografie

    Úvod

    Vytváření softwaru je dnes extrémně obtížný úkol. Potíže jsou spojeny s různými strojovými architekturami, operačními systémy, grafickými shelly atd. Rychlý růst technologií spojených s internetem tento úkol ještě ztěžuje. K internetu jsou připojeny počítače různých typů – IBM PC, Macintosh, pracovní stanice Sun a další. I v rámci počítačů kompatibilních s IBM existuje několik platforem, například MS Windows 9x/Me/XP/NT/2000, OS/2, Solaris, různé operační UNIXové systémy s grafickým shellem X-Windows atd. Všechny tyto systémy tvoří jedinou síť, která musí fungovat jako jedna a zároveň zajistit vysokou úroveň informační bezpečnosti. Pod vlivem těchto faktorů se dramaticky zvyšuje úroveň požadavků na software.

    Moderní aplikace musí být bezpečné, vysoce výkonné, distribuované a architektonicky neutrální. Všechny tyto faktory vedly k potřebě nového pohledu na samotný proces vytváření a distribuce aplikací na nejrůznějších strojích různých architektur. Požadavky na přenositelnost nás donutily opustit tradiční způsob vytváření a doručování binárních souborů obsahujících nativní kód, a tedy vázaných na konkrétní platformu. Vývojový systém Java společnosti Sun Microsystems splňuje všechny tyto požadavky. Java je objektově orientovaný jazyk, jehož použití je pohodlné a spolehlivé díky jeho výhodám, jako je multitasking, podpora internetových protokolů a multiplatforma. Java je interpretovaný jazyk a každý program Java je kompilován pro hypotetický stroj nazývaný Java Virtual Machine. Výsledkem takové kompilace je bajtový kód Java, který lze zase spustit na libovolném operačním systému za předpokladu, že existuje běhový systém Java, který interpretuje bajtový kód do skutečného strojového kódu konkrétního systému.

    Taková všestrannost této technologie však přináší nevýhodu - náročnost počítačových zdrojů. Protože programy Java neobsahují nativní kód a běží na běhovém systému Java, jejich výkon je znatelně pomalejší než běžné programy napsané například v C++. Tato nevýhoda se postupem času stává méně a méně patrnou v důsledku růstu výpočetního výkonu počítačových systémů.

    Jazyk Java je objektově orientovaný a je dodáván s poměrně velkou knihovnou tříd. Knihovny tříd Java výrazně zjednodušují vývoj aplikací tím, že poskytují programátorovi výkonné nástroje pro řešení běžných problémů. Proto se programátor může věnovat řešení více aplikované úkoly, a nikoli jako například organizace dynamická pole, interakci s operačním systémem nebo implementaci prvků uživatelského rozhraní.

    mobilita programování Java

    1. Historie vzniku jazyka JAVA

    Jazyk Java vznikl jako součást projektu na vytvoření pokročilého softwaru pro různé domácí spotřebiče. Implementace projektu byla zahájena v jazyce C++, ale brzy se objevila řada problémů, s nimiž se nejlépe vypořádala změna samotného nástroje – programovacího jazyka. Ukázalo se, že je potřeba programovací jazyk nezávislý na platformě, který by umožnil vytvářet programy, které by se nemusely kompilovat zvlášť pro každou architekturu a mohly by být použity na různých procesorech pod různými operačními systémy.

    Zrodu jazyka Java předcházelo poměrně dost zajímavý příběh. V roce 1990 si vývojář softwaru Sun Microsystems Patrick Naughton uvědomil, že je unavený udržováním stovek různých programových rozhraní používaných ve společnosti, a informoval generálního ředitele Sun Microsystems a svého přítele Scotta McNeelyho o svém záměru jít pracovat do NeXT. McNeely zase požádal Naughtona, aby sepsal seznam důvodů své nespokojenosti a navrhl takové řešení problémů, jako by byl Bůh a mohl dělat cokoliv.

    Noton, ačkoli neočekával, že by jeho dopisu někdo věnoval pozornost, přesto uvedl svá tvrzení a nemilosrdně kritizoval nedostatky Sun Microsystems, zejména softwarovou architekturu NeWS, která se v té chvíli vyvíjí. K Naughtonovu překvapení měl jeho dopis úspěch: byl zaslán všem předním inženýrům společnosti Sun Microsystems, kteří rychle odpověděli a vyjádřili vřelou podporu svému kolegovi a souhlas s jeho názory na situaci ve společnosti Sun Microsystems. Odvolání uvítalo i nejvyšší vedení společnosti, jmenovitě Bill Joy, zakladatel Sun Microsystems, a James Gosling, šéf Naughtonu.

    V den, kdy měl Naughton ze společnosti odejít, padlo rozhodnutí vytvořit tým vedoucích vývojářů, aby mohli dělat cokoli, jen ne vytvořit něco mimořádného. Tým šesti lidí se pustil do vývoje nového objektově orientovaného programovacího jazyka, který dostal jméno Oak (dub), podle stromu, který rostl pod Goslingovým oknem.

    Sun Microsystems brzy přeměnil zelený tým na First Person. Nová společnost měla zajímavý koncept, ale nenašla pro něj vhodné uplatnění. Po sérii neúspěchů se situace pro společnost náhle změnila: byl oznámen prohlížeč Mosaic. Tak se zrodil World Wide Web, který odstartoval rychlý rozvoj internetu. Naughton navrhl použití Oak při vytváření internetových aplikací. Oak se tedy stal samostatným produktem, brzy byl napsán kompilátor Oak a prohlížeč Oak "WebRunner". V roce 1995 se Sun Microsystems rozhodl oznámit nový produkt a přejmenovat jej na Java (jediným rozumným vysvětlením názvu je láska programátorů ke kávě). Když byla Java v rukou internetu, bylo nutné spouštět Java applety, malé programy stahované přes internet. WebRunner byl přejmenován na HotJava a Netscape posílil podporu produktů Java.

    2. Přednosti jazyka

    Jazyk musel ztělesňovat následující kvality: jednoduchost a sílu, bezpečnost, objektovou orientaci, spolehlivost, interaktivitu, architektonickou nezávislost, interpretovatelnost, vysoký výkon a snadnost učení. I když nikdy nenapíšete jediný řádek v jazyce Java, znalost jeho schopností je velmi užitečná, protože jsou to vlastnosti výše uvedeného jazyka, které dávají dynamiku stránkám World Wide Web.

    2.1 Zabezpečení

    Vzhledem k tomu, že jazyk Java je navržen pro použití v síťovém nebo distribuovaném prostředí, velká pozornost byla věnována jeho bezpečnostním problémům. Jazyk Java v tuto chvíli umožňuje vytvářet systémy, které jsou spolehlivě chráněny před viry a neoprávněným přístupem.

    Ale žádný programovací jazyk nemůže poskytnout 100% bezpečnost, protože není možné předvídat vše. První díry v Javě našli bezpečnostní experti z Princetonské univerzity již v Javě 1.0. Můžeme říci, že všechny nové chyby jsou stále nalezeny, ale žádný programovací jazyk proti tomu není imunní.

    Sun však dělá vše pro to, aby včas zalepil bezpečnostní díry JDK. Společnost například zveřejnila interní specifikace překladače jazyka Java a na vyhledávání chyb angažovala nezávislé odborníky v oblasti bezpečného softwaru.

    Zde je jen malý výčet situací, ve kterých bezpečnostní systém jazyka Java zabraňuje:

    Přetečení zásobníku za běhu způsobené některými červy;

    Poškození oblastí paměti, které jsou mimo prostor přidělený procesu;

    Čtení a zápis místních souborů při použití zabezpečeného zavaděče třídy, jako je webový prohlížeč, který takovému přístupu k souborům brání.

    Všechna bezpečnostní opatření jsou vcelku vhodná a většinou fungují bez problémů, diskrétnost však nikdy není na škodu. Postupem času byly do jazyka přidány nové bezpečnostní prvky. Počínaje verzí 1.1 jazyk Java zavedl pojem digitálně podepsaných tříd. Použitím třídy s digitálním podpisem si můžete být jisti jejím autorem. Pokud jí důvěřujete, můžete této třídě udělit všechna oprávnění dostupná na vašem počítači.

    Alternativní mechanismus doručování kódu navržený společností Microsoft je založen na technologii ActiveX a pro zabezpečení používá pouze digitální podpisy. To však nestačí, protože každý uživatel softwaru společnosti Microsoft může potvrdit, že programy i od známých výrobců často padají, čímž vzniká riziko poškození dat.

    Bezpečnostní systém v jazyce Java je zároveň mnohem spolehlivější než technologie ActiveX, protože samostatně řídí aplikaci od okamžiku, kdy je spuštěna, a neumožňuje její poškození.

    2.2 Orientace objektu

    Java byla navržena jako čistě objektově orientovaný jazyk, na rozdíl od C++, jehož objektové paradigma je „oslabeno“ funkcemi, které zbyly z C. Java postrádá strukturu, sjednocení a procedury C++; byly nahrazeny metodami, rozhraními a pokročilejšími třídami.

    Třídy v Javě jsou vytvářeny jinak než v C++; jde o to, jak Java zpracovává operace dědičnosti. Když je podtřída odvozena od nadřazené třídy (nebo nadtřídy), používá Java klíčové slovo rozšiřuje:

    public class MyString extends String()

    Po tomto příkazu zdědí třída MyString všechny metody a proměnné své nadtřídy. V C++ se to děje deklarováním class:mode superclass(.

    Funkce a procedury v Javě byly nahrazeny konstrukcemi nazývanými metody. Metody jsou velmi podobné procedurám C++, kromě toho, že metody nemohou být nezávislé na třídě (kromě metod z rozhraní).

    V Javě, stejně jako v C++, je možných více konstruktorů, což dává programátorovi možnost inicializovat objekt různými způsoby. Při deklaraci konstruktorů platí dvě základní pravidla: název konstruktoru a název třídy se musí shodovat; při deklaraci konstruktoru se návratový typ neuvádí. Stejně jako ostatní referenční proměnné jsou třídy vytvářeny dynamicky pomocí klíčového slova new. Následuje příklad deklarace třídy s více konstruktory:

    veřejná třída MyString extends String(

    public String x;

    public MyString()(

    x=nový řetězec("Výchozí řetězec");

    //volání konstruktoru třídy String

    veřejný MyString(Stringx)(

    this.x=new String(x);

    Ve výše uvedeném příkladu se klíčové slovo this používá stejným způsobem jako v C++ k rozlišení mezi odkazy na proměnné třídy a proměnné metody.

    Dalším způsobem, jak vytvořit třídu, je použít konstruktor supertřídy a klíčové slovo super. Zde je jednoduchý příklad:

    veřejná třída ParentClass(

    public ParentClass(x,y)(

    veřejná třída ChildClass rozšiřuje ParentClass(

    publicChildClass(x,y)(

    //zavoláme konstruktor nadtřídy

    Metody tříd jsou v mnoha ohledech podobné konstruktorům, ale mohou vrátit jakýkoli typ.

    public int ClassMethod(int j)(

    2.3 Spolehlivost

    Java vás omezuje v několika klíčových oblastech a pomáhá vám tak zachytit chyby v raných fázích vývoje programu. Zároveň postrádá mnoho zdrojů chyb, které jsou společné pro jiné programovací jazyky (například silné psaní). Většina programů, které se dnes používají, „selže“ v jedné ze dvou situací: když je alokována paměť, nebo když nastanou výjimky. V tradičních programovacích prostředích je alokace paměti poměrně únavný úkol - programátor musí sledovat veškerou paměť použitou v programu a nezapomínat na její uvolnění, protože již není potřeba. Programátoři často zapomínají uvolnit paměť, kterou zachytili, nebo v horším případě uvolnit paměť, která je stále používána nějakou částí programu. Výjimky v tradičních programovacích prostředích se často vyskytují v případech, jako je dělení nulou nebo pokus o otevření neexistujícího souboru, a musí být řešeny neohrabanými a nečitelnými konstrukcemi (kromě Delphi). Java ve skutečnosti řeší oba tyto problémy pomocí garbage collectoru k uvolnění nepřidělené paměti a vestavěných objektově orientovaných zařízení pro zpracování výjimek.

    Speciální proces garbage collection je jednou z nejzajímavějších funkcí programovacího jazyka Java a běhového prostředí Java aplikací, určený k odstranění nepotřebných objektů z paměti. Tento systém ušetří programátorovi nutnost pečlivě sledovat využití paměti tím, že uvolní oblasti, které již nejsou explicitně potřeba.

    Při vytváření objektů v Javě se můžete řídit principem „vytvoř a zapomeň“, protože o likvidaci vašich objektů se postará garbage collection. Objekt bude odstraněn z paměti, jakmile na něj nezůstane žádný odkaz z jiných objektů.

    Priorita procesu shromažďování odpadků je velmi nízká, takže „čištění“ běhového prostředí Java aplikace neplýtvá prostředky na samotné aplikace.

    Ukazatele nebo adresy paměti jsou nejmocnější a nejnebezpečnější funkcí C++. Důvodem většiny chyb v dnešním kódu je přesně špatná práce s ukazateli. Jednou z typických chyb je například chybný výpočet velikosti pole o jednu a poškození obsahu paměťové buňky umístěné za ním.

    Přestože Java implementuje úchyty objektů jako ukazatele, postrádá schopnost pracovat přímo s ukazateli. Nelze převést celé číslo na ukazatel ani nelze odkazovat na libovolnou adresu paměti.

    2.4 Interaktivita

    Java byla vytvořena jako nástroj, který by měl uspokojit naléhavou potřebu vytváření interaktivních webových programů. Java má několik zajímavých řešení, která vám umožňují psát kód, který provádí spoustu věcí současně. různé funkce a nezapomíná sledovat, co a kdy se má stát. Jazyk Java používá nejelegantnější metodu, která byla kdy vynalezena k řešení problému synchronizace procesů, což vám umožňuje navrhovat krásné interaktivní systémy. Snadno použitelné, elegantní podprocesy Java vám umožňují implementovat specifické chování ve vašem programu, aniž byste se museli obtěžovat vkládáním opakování globálních událostí.

    2.5 Nezávislost architektury počítače

    Kompilátor vygeneruje objektový soubor, jehož formát je nezávislý na architektuře počítače. V tento případ zkompilovaný program může běžet na jakémkoli procesoru běžícím na běhovém systému Java.

    Za tímto účelem kompilátor jazyka Java generuje instrukce bajtového kódu, které jsou nezávislé na konkrétní architektuře počítače. Bytový kód je navržen tak, aby jej bylo možné snadno interpretovat na jakémkoli počítači nebo přeložit do kódu závislého na stroji za běhu.

    Tuto myšlenku ale nelze nazvat revoluční. V 70. letech 20. století používaly stejnou technologii implementační systém Pascal vyvinutý Niclausem Wirthem a systém UCSD Pascal.

    Použití bajtkódů dává velký zisk při provádění programu (ačkoli v některých případech to kompenzuje synchronní kompilace). Vývojáři jazyka Java odvedli skvělou práci při vývoji sady instrukcí bajtového kódu, které skvěle fungují na většině moderních počítačů a snadno se převádějí do skutečných strojových instrukcí.

    2.6 Výklad a vysoký výkon

    Mimořádná schopnost Javy spouštět svůj kód na jakékoli podporované platformě je dosažena překladem jejích programů do jakési mezilehlé reprezentace zvané bytecode. Bytový kód lze zase interpretovat na jakémkoli systému, který má běhové prostředí Java. Většina rané systémy, který se snažil být nezávislý na platformě, měl obrovskou nevýhodu ztráty výkonu (Basic, Perl). Navzdory skutečnosti, že Java používá interpret, bajtový kód je snadno překládán přímo do nativních strojových kódů (Just In Time kompilátory) za běhu. Tím je dosaženo velmi vysokého výkonu (Symantec JIT je zabudován do Netscape Navigator).

    2.7 Snadné učení

    Jazyk Java, i když je složitější než jazyky shellu, je stále mnohem snazší se naučit než jiné programovací jazyky, jako je C++. Java se liší od C++ v několika hlavních změnách, které usnadňují pochopení syntaxe Java: byly odstraněny preprocesor, hlavičkové soubory, typované příkazy a direktivy #define. Tento jazyk usnadňuje naučení Javy. Zvažte například následující fragment programu:

    Jak můžete vidět, Java odstranila všechny direktivy preprocesoru, jako je #define, což usnadňuje čtení textu programu. Místo direktivy C++ #include používá jazyk Java příkaz import, který umožňuje importovat do generovaného kódu další třídy objektů.

    3. JAVA applety

    Programy napsané v programovacím jazyce Java lze podle účelu rozdělit do dvou velkých skupin.

    První skupina zahrnuje Java aplikace navržené tak, aby pracovaly autonomně pod kontrolou speciálního interpretačního jádra Java. Implementace tohoto stroje byly vytvořeny pro všechny hlavní počítačové platformy.

    Druhou skupinou jsou tzv. applety. Každý applet je malý program, který se dynamicky načítá po síti, stejně jako obrázek, zvukový soubor nebo kreslený prvek. Hlavním rysem apletů je, že se jedná o skutečné programy, a ne jen o jiný formát souborů pro ukládání karikatur nebo jakýchkoli jiných informací. Applet nejenom přehrává stejný scénář, ale reaguje na akce uživatele a může dynamicky měnit své chování.

    Aplikace související s prvním jsou obvyklé samostatné programy. Vzhledem k tomu, že neobsahují strojový kód a běží pod kontrolou speciálního interpretu, je jejich výkon znatelně nižší než u běžných programů napsaných např. v programovacím jazyce C++. Neměli bychom však zapomínat, že Java programy bez transpilace jsou schopny běžet na jakékoli platformě, která sama o sobě má velká důležitost z hlediska rozvoje pro internet.

    Java applety jsou vložené do HTML dokumentů uložených na webovém serveru. Pomocí apletů můžete učinit stránky webového serveru dynamickými a interaktivními. Applety umožňují provádět komplexní místní zpracování dat přijatých z webového serveru nebo zadaných uživatelem na klávesnici. Z bezpečnostních důvodů jsou applety (na rozdíl od běžné aplikace Java) nemají žádný přístup k systému souborů místního počítače. Mohou přijímat všechna data ke zpracování pouze z webového serveru. Složitější zpracování dat lze provést organizací interakce mezi applety a rozšířeními webového serveru – aplikacemi CGI a ISAPI.

    Pro zlepšení výkonu Java aplikací v moderních prohlížečích se používá kompilace Just-In-Time (JIT). Při prvním načtení apletu je jeho kód přeložen do běžného spustitelného programu, který je uložen na disk a spuštěn. Výsledkem je několikanásobné zvýšení celkové rychlosti provádění Java appletu.

    4. JAVA Virtual Machine a Bytecodes

    Program napsaný v některém z vyšších jazyků, který obsahuje jazyk Java, tzv. zdrojový modul, nelze okamžitě spustit. Nejprve se musí zkompilovat, tedy přeložit do sekvence strojových instrukcí – objektového modulu. Ale zpravidla to nelze provést okamžitě: objektový modul musí být také propojen s knihovnami funkcí používaných v modulu a musí být vyřešeny křížové odkazy mezi sekcemi objektového modulu, což má za následek načtení modulu - a program zcela připravený ke spuštění.

    Původní modul napsaný v Javě se těmto procedurám nevyhne, ale zde se projevuje hlavní rys technologie Java - program je okamžitě kompilován do strojových instrukcí, nikoli však do instrukcí konkrétního procesoru, ale do instrukcí tzv. Java virtuálního stroje. (JVM, virtuální stroj Java). Java Virtual Machine je kolekce příkazů spolu se systémem pro jejich provádění. Java Virtual Machine je kompletně založen na zásobníku, takže není potřeba složité adresování paměti a velké množství registrů. Proto jsou příkazy JVM krátké, většina z nich je dlouhá 1 bajt, proto se příkazy JVM nazývají bajtové kódy (bytecodes), ačkoli existují příkazy dlouhé 2 a 3 bajty. Podle statistických studií je průměrná délka příkazu 1,8 bajtu. Plný popis příkazy a celá architektura JVM je obsažena ve specifikaci Java Virtual Machine (VMS, Virtual Machine Specification).

    Další vlastností Javy je, že všechny standardní funkce volané v programu jsou k němu připojeny pouze za běhu a nejsou zahrnuty v bajtových kódech. Jak říkají odborníci, existuje dynamické propojení (dynamická vazba). To také výrazně snižuje objem kompilovaného programu.

    Takže v první fázi je program napsaný v jazyce Java přeložen kompilátorem do bajtkódů. Tato kompilace je nezávislá na typu konkrétního procesoru a architektuře konkrétního počítače. Lze jej provést jednou ihned po napsání programu. Bytekódy se zapisují do jednoho nebo více souborů, mohou být uloženy v externí paměti nebo přenášeny po síti. To je zvláště výhodné kvůli malé velikosti souborů bajtového kódu. Výsledné bajtové kódy lze poté spustit na jakémkoli počítači, který má systém, který implementuje JVM. V tomto případě není důležitý ani typ procesoru, ani architektura počítače. Takto je implementován Java princip „Napiš jednou, spusť kdekoli“.

    Interpretace bajtkódu a dynamické propojování výrazně zpomalují provádění programů. Nezáleží na situacích, kdy jsou bajtkódy přenášeny po síti, síť je stále pomalejší než jakákoli interpretace, ale v jiných situacích je vyžadován výkonný a rychlý počítač. Proto jsou tlumočníci neustále zdokonalováni ve směru zvyšování rychlosti tlumočení. Byly vyvinuty JIT kompilátory (Just-In-Time), které ukládají již interpretované úseky kódu do strojových instrukcí procesoru a jednoduše tyto úseky provádějí, když jsou znovu volány, například ve smyčkách. To výrazně zvyšuje rychlost opakujících se výpočtů. Společnost SUN vyvinula celou technologii Hot-Spot a začleňuje ji do svého virtuálního stroje Java. Ale nejvyšší rychlost může dát samozřejmě pouze specializovaný procesor.

    Společnost SUN Microsystems vydala mikroprocesory PicoJava, které běží na instrukční sadě JVM, a chystá se vydat řadu stále výkonnějších procesorů Java. Již existují procesory Java od jiných společností. Tyto procesory přímo provádějí bajtové kódy. Ale při spouštění programů Java na jiných procesorech je také nutné interpretovat příkazy JVM do příkazů konkrétního procesoru, což znamená, že je potřeba program interpret, a pro každý typ procesoru a pro každou architekturu počítače byste měli napsat svůj vlastního tlumočníka.

    Tento problém již byl vyřešen pro téměř všechny počítačové platformy. Implementují virtuální stroje Java a pro nejběžnější platformy existuje několik implementací JVM od různých společností. Stále více operačních systémů a systémů pro správu databází zahrnuje ve svém jádru implementaci JVM. Byl také vytvořen speciální operační systém JavaOS, používaný v elektronických zařízeních. Většina prohlížečů má vestavěný virtuální stroj Java pro spouštění apletů.

    Kromě implementace JVM potřebujete ke spouštění bajtkódů na počítači také sadu funkcí, které jsou volány z bajtkódů a dynamicky propojeny s bajtovými kódy. Tato sada je zabalena jako knihovna tříd Java, která se skládá z jednoho nebo více balíčků. Každá funkce může být zapsána v bajtových kódech, ale protože bude uložena na konkrétním počítači, může být zapsána přímo v instrukčním systému tohoto počítače, čímž se zabrání interpretaci bajtových kódů. Takové funkce se nazývají „nativní“ metody (nativní metody). Použití "nativních" metod urychluje provádění programu.

    SUN Microsystems, tvůrce technologie Java, zdarma distribuuje sadu nezbytných softwarových nástrojů pro celý cyklus práce s tímto programovacím jazykem: kompilaci, interpretaci, ladění, včetně bohaté knihovny tříd nazvané JDK (Java Development Kit).

    Sada programů a tříd JDK obsahuje:

    1. kompilátor javacu ze zdroje do bajtkódů; interpret java obsahující implementaci JVM;

    2. Lehký jre interpret (není dostupný v posledních verzích);

    3. Prohlížeč apletů appietviewer, který nahrazuje prohlížeč;

    4. ladicí program jdb;

    5. Disassembler javap;

    6. Program pro archivaci a kompresi jar;

    7. Program pro sběr dokumentace javadoc;

    8. Program javah pro generování C hlavičkových souborů;

    9. Program javakey pro přidání elektronického podpisu;

    10. Program native2ascii, který převádí binární soubory na text;

    11. Programy rmic a rmiregistry pro práci se vzdálenými objekty;

    12. Program serialver, který určuje číslo verze třídy;

    13. Knihovny a hlavičkové soubory "nativních" metod;

    14. Knihovna tříd Java API (Application Programming Interface).

    Kromě JDK SUN také samostatně distribuuje sadu JRE (Java Runtime Environment).

    Sada programů a balíčků tříd JRE obsahuje vše, co potřebujete ke spouštění bajtkódů, včetně interpretu java (ve starších verzích odlehčeného interpretu jre) a knihovny tříd. Je součástí JDK a neobsahuje kompilátory, debuggery ani jiné vývojové nástroje. Právě JRE nebo jeho obdoba od jiných společností je obsažena v prohlížečích, které mohou spouštět programy v Javě, operační systémy a systémy pro správu databází.

    5. JAVA mobilita

    Vytváření aplikací, které skutečně fungují napříč platformami, není snadný úkol. Věc se bohužel neomezuje pouze na nutnost překompilovat zdrojový kód programu pro práci v jiném prostředí. Mnoho problémů vzniká s nekompatibilitou programovacích rozhraní různých operačních systémů a grafických shellů, které implementují uživatelské rozhraní.

    Vzpomeňte si na problémy spojené s portováním 16bitových aplikací Windows do 32bitových prostředí Windows 95 a Windows NT. I když jste pečlivě dodrželi všechny pokyny při vývoji svých aplikací pro běh na budoucích verzích Windows, je nepravděpodobné, že budete moci jednoduše překompilovat zdrojový kód, aniž byste v něm změnili jediný řádek. Situace se ještě zhorší, pokud potřebujete například přenést zdrojový kód aplikace Windows do prostředí operačního systému OS/2 nebo do prostředí X-Windows operačního systému UNIX. Ale stále existují další počítače a pracovní stanice!

    Jak vidíte, i když je programovací jazyk standardizován pro všechny platformy, problémy s kompatibilitou s API operačního systému značně ztěžují portování programů na různé platformy. A samozřejmě vás ani ve snu nenapadá, že stejný zavaděč programu může běžet beze změny na různých operačních systémech a na různých platformách. Pokud je program připraven pro procesor Intel, nikdy nebude souhlasit s prací na procesoru Alpha ani žádném jiném.

    Výsledkem je, že při vytváření aplikace, která může fungovat na různých platformách, musíte ve skutečnosti udělat několik věcí. různé aplikace a doprovázet je samostatně.

    Obrázek 1 ukazuje, jak je aplikace původně vyvinutá pro Windows NT portována na platformu Apple Macintosh.

    Obrázek 1 Portování aplikace z platformy Windows NT na platformu Macintosh

    Nejprve programátor připraví zdrojový kód aplikace pro platformu Windows NT a tam jej odladí. Pro získání zatěžovacího modulu jsou zdrojové texty zkompilovány a upraveny. Výsledný spouštěcí modul lze spustit na procesoru Intel v prostředí operačního systému Windows NT.

    Aby bylo možné přenést aplikaci do prostředí operačního systému počítače Macintosh, programátor provede nezbytné změny ve zdrojových textech aplikace. Tyto změny jsou vyžadovány kvůli rozdílům v programovacím rozhraní mezi operačním systémem Windows NT a operačním systémem nainstalovaným v počítači Macintosh. Tyto zdroje jsou poté přeloženy a upraveny, výsledkem je spouštěcí modul, který lze spustit na Macintoshi, ale ne na Windows NT.

    Java program je zkompilován do binárního modulu sestávajícího z instrukcí virtuálního procesoru Java. Takový modul obsahuje bytecode, který má být proveden interpretem Java. V tuto chvíli již byly vytvořeny první modely fyzického procesoru schopného tento bajtkód provést, ale interprety Java jsou dostupné na všech hlavních počítačových platformách. Každá platforma samozřejmě používá svůj vlastní interpret, přesněji řečeno vlastní virtuální procesor Java.

    Pokud vaše Java aplikace (nebo applet) potřebuje běžet na více platformách, není potřeba vícekrát kompilovat její zdroje. Aplikaci Java můžete kompilovat a ladit na jedné platformě, která je pro vás nejpohodlnější. V důsledku toho získáte bajtový kód vhodný pro jakoukoli platformu, kde je virtuální procesor Java.

    To je znázorněno na Obr. 2.

    Obrázek 2 Příprava aplikace Java ke spuštění na různých platformách

    Java aplikace se tedy zkompiluje a odladí pouze jednou, což je již mnohem lepší. Otázkou však zůstává – jak je to s programovacím rozhraním operačního systému, které se pro různé platformy liší?

    Zde podle nás vývojáři Javy nabízejí poměrně dobré řešení. Java aplikace nemá přímý přístup k rozhraní operačního systému. Místo toho používá hotové standardní knihovny tříd, které obsahují vše, co potřebujete k uspořádání uživatelského rozhraní, přístupu k souborům, síti a tak dále.

    Interní implementace knihoven tříd je samozřejmě závislá na platformě. Všechny zaváděcí moduly, které implementují schopnosti těchto knihoven, jsou však dodávány s virtuálním strojem Java, takže se o to programátor nemusí starat. Pro operační systém Windows jsou dodávány například dynamické DLL knihovny, uvnitř kterých se skrývá veškerá funkcionalita standardních Java tříd.

    Abstrahováním hardwaru na úrovni knihovny tříd se programátoři již nemohou starat o rozdíly v implementaci programovacího rozhraní konkrétních operačních systémů. To vám umožní skutečně tvořit mobilní aplikace, které nevyžadují opakovaný překlad a změny ve zdrojovém textu při přenosu na různé platformy.

    Dalším problémem, který vzniká při portování programů napsaných v programovacím jazyce C, je to, že velikost paměťové oblasti obsazené proměnnými standardních typů se na různých platformách liší. Například v prostředí operačního systému Verze Windows 3.1 proměnná int v programu C trvá 16 bitů. V systému Windows NT je tato velikost 32 bitů.

    Je zjevně obtížné napsat program, aniž bychom přesně věděli, kolik bitů je ve slově nebo bajtu. Při přenosu programů na platformy s jinou bitovou hloubkou může docházet k chybám, které je obtížné odhalit.

    V jazyce Java mají všechny základní datové typy pevnou bitovou šířku, která je nezávislá na platformě. Proto programátoři vždy znají velikosti proměnných ve svém programu.

    Závěr

    Programovací jazyk Java je plně objektově orientovaný jazyk, který z hlediska syntaxe hodně dědí z C++. Výhody Javy samozřejmě jdou mnohem dál, než je multiplatformní. Jazyk Java je syntakticky jednodušší a logičtější než C++. Java jako platforma poskytuje programátorům velké množství knihoven (balíčků), které obsahují velké množství popisů tříd a rozhraní pro všechny příležitosti. S jejich pomocí vytvoříte 100% Java aplikace s přístupem k databázi, s podporou pošty, s klientskou stranou, která vyžaduje webový prohlížeč, nebo naopak s klientskou, která má propracované rozhraní.

    Java je velmi elegantní a krásný jazyk. Při jeho používání se však nelze vyhnout ani problémům. Jedním z velkých problémů je, že když vytvoříte komplexní aplikaci v Javě, musíte použít pouze tento jazyk k vytvoření všech částí této aplikace. Java neposkytuje mnoho pro interoperabilitu mezi jazyky (což je pochopitelné vzhledem k tomu, že Java má být jediným, víceúčelovým programovacím jazykem). V reálném světě existují miliony řádků běžně dostupného kódu, který bychom rádi integrovali s novými Java aplikacemi. To je však velmi obtížné.

    Bibliografie

    Sukhov, S. A. Základy programování v Javě [Text]: tutoriál / Sukhov S. A. - Uljanovsk: UlGTU, 2006. - 88 s.

    Technologie Weber D. Java v originále: per. z angličtiny [Text] - Petrohrad: BHV - Petersburg, 2001

    Java tutorial [Elektronický zdroj] Režim přístupu: http://www.java-study.ru/java-uchebnik

    Hostováno na Allbest.ru

    ...

    Podobné dokumenty

      Historie vzniku jazyka Java. Základní principy objektově orientovaného programování. Struktura, syntaktické vlastnosti a příklady aplikačních možností použití jazyka Java, jeho výhody. Vyhlídky na zaměstnání jako Java programátor.

      semestrální práce, přidáno 14.12.2012

      Architektura Java a Java RMI, jejich hlavní vlastnosti, základní systém a prvky. Zabezpečení a Java Virtual Machine. Java API rozhraní. Příklad použití aplikace RMI. Práce s programem "Kalkulačka". Univerzálnost, přenositelnost platforem.

      semestrální práce, přidáno 12.3.2013

      Vytvoření programovacího jazyka pomocí aplikace "Java". Historie jména a znaku Java. Přehled rozmanitosti moderní textové editory. Zpracování řetězce. Metody ve třídě String. Java: úlohy zpracování textu. Příklady programování.

      semestrální práce, přidáno 19.07.2014

      Etapy vývoje, vlastnosti a možnosti programovacího jazyka Java; původ jména. Aplikace Sun Microsystems: nápady, primitivní typy. Python je univerzální programovací jazyk na vysoké úrovni: datové struktury, syntaxe a sémantika.

      abstrakt, přidáno 23.06.2012

      Java je jednoduchý, objektově orientovaný, vícevláknový programovací jazyk vyvinutý společností Sun Microsystems za účelem rozšíření možností internetu. Datové typy, slovník a řídicí struktury daný jazyk programování.

      prezentace, přidáno 25.04.2014

      Vývoj grafického editoru pro kreslení dvourozměrné a trojrozměrné grafiky pomocí programovacího jazyka Java a aplikačního programovacího rozhraní Java 2D a Java 3D. Vytvoření grafického editoru 3D Paint. Hlavní metody třídy Graphics.

      semestrální práce, přidáno 19.11.2009

      Historie vývoje programovacího jazyka Java. Historie Tetrisu - kultovní počítačové hry vynalezené v SSSR. Pravidla hry, vlastnosti bodování. Tvorba programového rozhraní, jeho implementace v prostředí Java, kódování, testování.

      semestrální práce, přidáno 27.09.2013

      Popis programovacího jazyka Java: obecná charakteristika, hlavní vlastnosti, krátká recenze. Spolehlivost a bezpečnost, výkon a základní systém programu. Vývoj slovníkového vyhledávacího programu, algoritmus jeho práce. Obecná forma programový kód.

      semestrální práce, přidáno 28.10.2012

      Vlastnosti architektury Java. Technologie Java Database Connectivity. Multiplatformní Java aplikace. Výhody programovacího jazyka. Logická struktura databáze. Struktura softwarového balíku. Verifikace softwaru.

      semestrální práce, přidáno 13.01.2016

      Příkazová architektura platformy Java, formát souboru třídy Java. Kompilátor jazyka podobný assembleru, který vám umožňuje vytvářet soubory tříd, které jsou správně zpracovány skutečným JVM, podporuje všechny příkazy Java bytecode a nejdůležitější funkce JVM.