Seminár Java

Transkript

Seminár Java
Seminář Java
Úvod
Radek Kočí
Fakulta informačních technologií VUT
Únor 2009
Radek Kočí
Seminář Java – Úvod
1/ 22
Téma přednášky
Organizace semináře
Java – úvod, distribuce
Radek Kočí
Seminář Java – Úvod
2/ 22
Informace, studijní materiály
Stránky předmětu
http://www.fit.vutbr.cz/study/courses/IJA/
zadání úkolů, informace
konzultace
studijní materiály
Hodnocení předmětu
zápočet
odevzdané funkční úkoly
odevzdaný projekt
alespoň 50% bodů z projektu
Radek Kočí
Seminář Java – Úvod
3/ 22
Přehled jazyků
1960
Lisp
ALGOL
Simula-67
1970
C
1980
Smalltalk
CLOS
C++
Objective-C
Object Pascal
VisualC++
Ada95
1995
Java
1998
Java2
2000
Ada
Eiffel
Self
1990
Pascal
Delphi
C#
Radek Kočí
Seminář Java – Úvod
4/ 22
Programovací jazyk Java
Základní charakteristika
objektově orientovaný
statická typová kontrola
jednodušší než C++ (méně syntaktických konstrukcí, méně
nejednoznačností v návrhu)
v průměru vyšší produktivita programátorské práce v Javě
než v C++
Java Virtual Machine – JVM
program v Javě je meziplatformně přenositelný na úrovni
zdrojového i přeloženého kódu
automatické odklizení nepoužitelných objektů (automatic
garbage collection)
Radek Kočí
Seminář Java – Úvod
5/ 22
Programovací jazyk Java
Základní charakteristika
zdarma dostupné velké množství knihoven pro různorodé
aplikační oblasti, např. na SourceForge, . . .
k dispozici je řada kvalitních vývojových prostředí (i
zdarma), např. NetBeans, JBuilder, Visual Age for Java,
Eclipse, IDEA
Srovnání (názory)
Java vs. C++ (http://c2.com/cgi/wiki?JavaVsCpp)
Java vs. Smalltalk
(http://c2.com/cgi/wiki?JavaVsSmalltalk)
Radek Kočí
Seminář Java – Úvod
6/ 22
Programovací jazyk Java
Využití Javy
vícevláknové aplikace (multithreaded applications)
škálovatelné výkonné aplikace běžící na serverech (Java
Enterprise Edition)
aplikace na přenosných a vestavěných zařízeních (Java
Micro Edition)
webové aplikace (servlety, JSP) – alternativa
proprietárních ASP, SSI, CGI
zpracování semistrukturovaných dat (XML)
přenositelné aplikace s GUI
aplikace distribuované po síti (Applets nebo Java Web
Start)
Radek Kočí
Seminář Java – Úvod
7/ 22
Programovací jazyk Java
Typy aplikací
Konzolové aplikace
jednoduchá textová konzole
GUI aplikace
Applety
běží v HTML prohlížečích
mají silná bezpečnostní omezení
Radek Kočí
Seminář Java – Úvod
8/ 22
Java – platforma
Java platformu tvoří:
Java Virtual Machine (JVM)
překladač a další vývojové nástroje
Java Core API (základní knihovna tříd)
Java je tedy dána...
definicí jazyka (Java Language Definition) – syntaxe a
sémantika jazyka
popisem chování JVM
popisem Java Core API
Radek Kočí
Seminář Java – Úvod
9/ 22
Specifikace a implementace Javy
Specifikace Javy
např. Java 2 Standard Edition, v1.4
např. Java 2 Enterprise Edition, v1.4
Implementace Javy
např. Java 2 Software Development Kit, v1.4.2 - obsahuje
vývojové nástroje
např. Java 2 Runtime Enviroment, v1.4 - obsahuje jen
běhové prostředí pro spouštění hotových přeložených pg.
Radek Kočí
Seminář Java – Úvod
10/ 22
Verze Javy
Hrubé členění
verze Java (před Java 2, v1.2)
verze Java 2
verze Java (po Java 2, v1.5)
Číslování verzí:
major číslo (např. Java 2, v1.4)
při změně major čísla se může měnit Core API a někdy i
jazyk
minor číslo (např. Java 2, v1.4.2)
změnu minor (třetího) čísla doprovází jen odstraňování
chyb
J2SE ⇒ Java SE
Radek Kočí
Seminář Java – Úvod
11/ 22
Verze Javy
Aktuální verze
Java SE 6
aktuálně vždy na webu http://java.sun.com
Radek Kočí
Seminář Java – Úvod
12/ 22
Verze Javy
version
JDK 1.1.4
JDK 1.1.5
JDK 1.1.6
JDK 1.1.7
JDK 1.1.8
J2SE 1.2
J2SE 1.2.1
J2SE 1.2.2
J2SE 1.3
J2SE 1.3.1
J2SE 1.4.0
J2SE 1.4.1
J2SE 1.4.2
code name
Sparkler
Pumpkin
Abigail
Brutus
Chelsea
Playground
(none)
Cricket
Kestrel
Ladybird
Merlin
Hopper
Mantis
release date
Sept 12, 1997
Dec 3, 1997
April 24, 1998
Sept 28, 1998
April 8, 1999
Dec 4, 1998
March 30, 1999
July 8, 1999
May 8, 2000
May 17, 2001
Feb 13, 2002
Sept 16, 2002
June 26, 2003
Radek Kočí
Seminář Java – Úvod
13/ 22
Verze Javy
version
J2SE 5.0 (1.5.0)
Java SE 6
Java SE 7
code name
Tiger
Mustang
Dolphin
Radek Kočí
release date
Sept 29, 2004
Dec 11, 2006
2008
Seminář Java – Úvod
14/ 22
Java Technology History
1990 – Green Project
1992 – OAK, použitý na PDA
1995 – první verze Javy, Java pro Netscape
1996 – Java 1.0, další podpora Javy
1997 – Java 1.1, Java Web Server
1999 – XML, NetBeans (Praha), J2SE, J2EE, J2ME
2004 – Java SE 5
2006 – Java SE 6
Radek Kočí
Seminář Java – Úvod
15/ 22
Distribuce Javy
Podmínky získání a používání
používání Javy pro běžný vývoj (i komerční) je zdarma
redistribuce javového vývojového prostředí je dovolena
pouze s licencí od Sunu
redistribuce javového běhového prostředí je možná
zdarma
distribuce vyvíjí Sun Microsystems Inc. (Javasoft) i další
výrobci (např. IBM) a tvůrci Open Source
Stažení distribuce Sun
http://java.sun.com (pro Windows, Solaris, Linux)
dokumentace se stahuje z téhož místa, ale samostatně
(nebo lze číst z WWW)
Radek Kočí
Seminář Java – Úvod
16/ 22
Obsah vývojové distribuce Javy
Obsah adresářů
bin – vývojové nástroje (Development Tools) určené k
vývoji, spouštění, ladění a dokumentování programů v
Javě.
jre – běhové prostředí Javy (Java Runtime Environment);
obsahuje Java Virtual Machine (JVM), knihovnu tříd Java
Core API a další soubory potřebné pro běh programů v
Javě
lib – přídavné knihovny (Additional libraries) jsou další
knihovny nutné pro běh vývojových nástrojů
demo – ukázkové applety a aplikace (Demo Applets and
Applications); příklady zahrnují i zdrojový kód
Radek Kočí
Seminář Java – Úvod
17/ 22
Nástroje ve vývojové distribuci
Pod Windows jsou to .exe soubory umístěné v podadresáři bin
java – spouštěč (přeloženého bajtkódu)
javac – překladač (.java -> .class)
javadoc – generátor dokumentace API
jar – správce archivů JAR (sbalení, rozbalení, výpis)
jdb – debugger
appletviewer – referenční prostředí pro spouštění
appletů
Radek Kočí
Seminář Java – Úvod
18/ 22
Java Virtual Machine
Překladač generuje byte-kód pro JVM
JVM interpretuje byte-kód
Optimalizace (JIT)
Radek Kočí
Seminář Java – Úvod
19/ 22
Praktické informace
Co je nutné udělat
Cesty ke spustitelným programům (PATH) musejí
obsahovat i adresář $JAVA_HOME/bin
Co je vhodné udělat
Systémové proměnné by měly obsahovat:
JAVA_HOME = kořenový adresář instalace Javy, např.
JAVA_HOME=/usr/local/j2sdk1.4.2
CLASSPATH = cesty ke třídám (podobně jako v PATH jsou
cesty ke spustitelným souborům), např.
CLASSPATH=$HOME/java
Radek Kočí
Seminář Java – Úvod
20/ 22
Distribuce Javy na FIT
merlin.fit.vutbr.cz
Java SE 6 — /usr/local/share/Java
Netbeans 6.5
Ant 1.7.0
.profile
JAVA_HOME="/usr/local/share/Java"
PATH="$JAVA_HOME/bin:$PATH"
export JAVA_HOME PATH
Radek Kočí
Seminář Java – Úvod
21/ 22
Distribuce Javy na FIT
Test spuštění Javy
javac -version
java -version
java -client -version
Radek Kočí
Seminář Java – Úvod
22/ 22

Podobné dokumenty

Seminár Java

Seminár Java obsahuje Java Virtual Machine (JVM), knihovnu tříd Java Core API a další soubory potřebné pro běh programů v Javě lib – přídavné knihovny (Additional libraries) jsou další knihovny nutné pro ...

Více

Seminár Java I

Seminár Java I • jre – běhové prostředí Javy (Java Runtime Environment); obsahuje Java Virtual Machine (JVM), knihovnu tříd Java Core API a další soubory potřebné pro běh programů v Javě • lib – přídavné ...

Více

Seminár Java I

Seminár Java I 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š...

Více

Seminár Java

Seminár Java redistribuce javového vývojového prostředí je dovolena pouze s licencí od Sunu redistribuce javového běhového prostředí je možná zdarma distribuce vyvíjí Sun Microsystems Inc. (Javasoft) i další...

Více

3. Základy programovacího jazyka Java

3. Základy programovacího jazyka Java definicí jazyka, což je syntaxe a sémantika jazyka, dále popisem chování virtuálního stroje JVM a popisem Java Core API. Co se týče vývoje Javy, nejrychleji se vyvíjí Java Core API, základní knihov...

Více

Statika 2 - 1. prednáška Prosté prípady pružnosti: Prostý ohyb Prosté

Statika 2 - 1. prednáška Prosté prípady pružnosti: Prostý ohyb Prosté Prosté případy pružnosti: Prostý ohyb Prosté kroucení vybraných průřezů

Více

Matematika 1 - Sdružení TurnovFree.net

Matematika 1 - Sdružení TurnovFree.net http://tf.czu.cz/~jedlickap/texty.html Skripta: S́ V., W́ M.: Matematika I, ČZU 2001 D̌́́ Š.: Řešené příklady k Matematice I, ČZU 2004 Kmenová literatura: Š́̌ J., T...

Více

2 - Radiozurnal.sk

2 - Radiozurnal.sk 872 2240, fax: (02) 872 2242, QSL služba: (02) 872 2253, e-mail: [email protected], PR: OK1CRA@OK0PRG.#BOH.CZE.EU, WEB: http://crk.mlp.cz. Zásilky pro QSL službu a diplomové oddìlení: Èeský radiok...

Více

Významné zdroje http:// java.sun.com Historie

Významné zdroje http:// java.sun.com Historie • Abstraktní počítač – JVM, který sestává z runtime systému, což je část realizující vazbu na hardware, a interpretu, který vykonává bytový kód • Aplikační programové rozhraní (Java Core API) - což...

Více