Úvod do jazyka a prostředí Java

Tomáš Pitner, Radek Ošlejšek, Marek Šabo
tomp@fi.muni.cz

Rychlost Javy

01 java is slow

Java jako programovací jazyk

  • Je jazykem 3. generace (3GL) — imperativním jazykem vysoké úrovně
  • Je jazykem univerzálním — není určen výhradně pro specifickou aplikační oblast
  • Je jazykem objektově-orientovaným — program používá volání metod objektů (zasílání zpráv objektům)
  • Ideovým předchůdcem Javy je C++
  • Svým způsobem je Java obdobou C++, ale zbavena zbytečností a nepříjemností

Java v budoucnu

  • Pro tradiční typy serverových podnikových aplikací (IS) zůstává Java (Enterprise Edition) klíčovou platformou spolu s .NET
  • Perspektivním směrem vývoje je zachování Java platformy (JVM, stávající knihovny, aplikace, aplikační prostředí)
  • Rychle se vyvíjejí skriptovací jazyky na této platformě: Groovy, JRuby, Jython, Kotlin…​)
  • Mnoho jazyků bylo inspirovaných Javou: C#, Groovy, Ruby, Scala, z nových Go a Kotlin…​

Proč Java

  • Java je jazyk pro vývoj a běh jednoduchých i rozsáhlých aplikací.
  • Vývoj je efektivnější než na jejich předchůdcích (C++) a výsledné aplikace "běží všude".
  • Silnou typovaností, běhovou bezpečnostní kontrolou, stabilními knihovnami vč. open-source a rozsáhlým souborem dobrých praktik nabízí aplikacím velmi vysokou robustnost.
  • Nezavádí zbytečnosti a vede ke správným a dále uplatnitelným návykům.
  • Je velmi perspektivní platformou pro vývoj open-source i komerčního SW, mj. pro extrémně velké množství volně dostupných knihoven.

Další charakteristiky

  • Java podporuje vytváření správných návyků v objektovém programování a naopak systematicky brání přenosu některých špatných návyků z jiných jazyků.
  • Program v Javě je přenositelný na úrovni zdrojového i přeloženého kódu.
  • Přeložený javový program běží v tzv. Java Virtual Machine (JVM).
  • Zdrojový i přeložený kód je tedy přenositelný mezi všemi obvyklými platformami (UNIX, Windows, Mac OS X).

Java pro programátora

Konkrétní možnosti:

  • V Javě se dobře píší vícevláknové aplikace (multithreaded applications).
  • Java má automatické odklizení nepoužitelných objektů (automatic garbage collection).
  • Java je jednodušší než C++ (méně syntaktických konstrukcí, méně nejednoznačností v návrhu), což zlepšuje čitelnost a redukuje riziko chyb.
Aktuální verze Javy SE je Java 8.

Aktuální verze

Stav k září 2018:

  • Java Standard Edition 8 (u zákazníků s Long Term Support pokračují i SE 6 a 7)
  • je stabilní verzí pro všechny platformy.
  • U Java 7 běžná podpora skončila dubnem 2015.
  • Aktuální informace najdete vždy na webu Oracle Oracle Technetwork/Java.
  • K předpokládanému vývoji existuje Oracle roadmap

Stažení Javy

  • Na webových stránkách Oracle je java dostupná ve všech platformách.
  • Chceme vývojové prostředí (JDK), běhové prostředí (JRE) slouží jenom na spuštění, ne na vývoj.

Lze stáhnout:

  • samotné vývojové prostředí (JDK), např. Java SE 8 JDK
  • jen běhové prostředí (JRE), např. Java SE 8 JRE: to nám tady nestačí, chceme vyvíjet
  • JDK v balíčku s grafickým (okénkovým) integrovaným vývojovým prostředím (IDE, Integrated Development Environment) NetBeans.
Připravili jsme pro vás tutoriál, jak Javu nainstalovat.

Obsah vývojové distribuce Javy

  • Vývojové nástroje (Development Tools) v bin určené k vývoji, spouštění, ladění a dokumentování programů v Javě.
  • Běhové prostředí Javy (Java Runtime Environment) se nalézá v jre. Obsahuje Java Virtual Machine (JVM), knihovnu tříd Java Core API a další soubory potřebné pro běh programů v Javě.
  • Přídavné knihovny (Additional libraries) v podadresáři lib jsou další knihovny nutné pro běh vývojových nástrojů.
  • Ukázkové applety a aplikace (Demo Applets and Applications) v demo . Příklady zahrnují i zdrojový kód.

Budoucnost Javy

/