66
JAVA Tomasz Grzywacz [email protected]

JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

JAVA

Tomasz [email protected]

Page 2: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

2

Literatura

B. Eckel "Thinking in Java", Helion, 2001 Laurence Vanhelsuwe [i in.], Programujemy w Java, t.1-2, EXIT,

Warszawa 1997 Kris Jamsa, Java, MIKOM, Warszawa 1998 B.Boone "Java dla programistów C i C++", WNT, 1998 Ken Arnold, James Gosling, Java, WNT, Warszawa 1999 Krzysztof Barteczko, Java. Wykłady i ćwiczenia, MIKOM,

Warszawa 2000 Wiesław Porębski, Język Java, HELP, Michałowice 2000 Michael Morgan, Poznaj język Java 1.2, MIKOM, Warszawa

2001

Page 3: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

3

Historia języka Java

Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga

1990 - początek prac na projektem Green mającym na celu stworzenie oprogramowania dla sprzętu elektronicznego

1991 - opracowanie w ramach projektu Green kompilatora języka Oak (Object Application Kernel)

Page 4: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

4

Historia języka Java

1994 - zakończenie prac nad przeglądarką WWW o nazwie WebRunner napisaną w języku Oak; nazwę WebRunner zmieniono później na HotJava

1995 - zmiana nazwy Oak na Java i oficjalna prezentacja języka na pokazie Sun World 95

Page 5: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

5

Cechy języka Java

język kompilowany do postaci kodu pośredniego (bajtowego)

kod pośredni wykonywany przez maszynę wirtualną

przenośność, niezależność od architektury i systemu operacyjnego

zorientowanie obiektowe

Page 6: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

6

Cechy języka Java

jednokrotne dziedziczenie silna kontrola typów brak samodzielnych funkcji zewnętrznych tj.

definiowanych poza klasami obsługa błędów poprzez wyjątki wymuszana

przez kompilator

Page 7: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

7

Cechy języka Java

brak jawnych operacji na wskaźnikach pamięci

bezpieczne konwersje w fazie wykonywania programu

zarządzanie pamięcią, odzyskiwanie nieużytków

wielopoziomowe mechanizmy bezpieczeństwa

Page 8: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

8

Cechy języka Java

wsparcie dla programowania współbieżnego, wielowątkowość

wsparcie dla programowania sieciowego i aplikacji rozproszonych

wsparcie dla zastosowań multimedialnych

Page 9: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

9

Cechy języka Java

liczne biblioteki (pakiety) standardowe i zewnętrzne

możliwość ładowania klas i pakietów poprzez sieć

modularyzacja poprzez mechanizm klas i pakietów

Page 10: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

10

Infrastruktura języka Java

obiektowy język programowania; pliki źródłowe z programami w języku Java mają po kropce rozszerzenie java

biblioteki standardowe języka Java dostarczane razem z implementacją maszyny wirtualnej

Page 11: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

11

Infrastruktura języka Java

kompilator tłumaczący kod źródłowy programu w języku Java na kod pośredni nazywany kodem bajtowym (byte-code, B-code); pliki wynikowe mają po kropce rozszerzenie class i zawierają po jednej skompilowanej klasie lub interfejsie, pliki wynikowe grupowane są w logicznie powiązane całości tworzące program lub bibliotekę dzięki mechanizmowi pakietów;

Page 12: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

12

Infrastruktura języka Java

maszyna wirtualna Javy (JVM, Java Virtual Machine), wirtualny (programowy) procesor, który wykonuje kod pośredni ładowany z plików class lub archiwów z lokalnego systemu plików lub poprzez sieć

Page 13: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

13

Infrastruktura języka Java

maszyna wirtualna implementowana jest jako samodzielnie uruchamiany program lub wbudowywana np. w przeglądarkę WWW albo w system operacyjny (statycznie jako moduł lub biblioteka łączona dynamicznie)

Page 14: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

14

Infrastruktura języka Java

Podstawowa wersja środowiska Javy dostarczana jest przez firmę Sun Microsystems w postaci pakietu narzędzi Java 2 Software Developers Kit Standard Edition (Java 2 SDK SE)

Zestaw przygotowywany jest dla różnych systemów operacyjnych

Dawniej nazywany był Java Developers Kit (JDK)

Page 15: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

15

Infrastruktura języka Java

istnieje rozbudowana wersja pakietu - Enterprise Edition - zawierająca dodatkowe narzędzia oraz biblioteki

środowisko zawierające tylko implementację maszyny wirtualnej dla określonego systemu operacyjnego i biblioteki standardowe Javy, bez narzędzi programistycznych, nazywane jest Java Runtime Environment i służy tylko do uruchamiania programów utworzonych w Javie

Page 16: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

16

Maszyna wirtualna Javy

w zestawie J2SDK kompilatorem jest program o nazwie javac (Java Compiler)

pliki wynikowe mogą być pogrupowane logicznie w pakiet, który fizycznie może być zlokalizowany w pewnej drzewiastej strukturze katalogowej

pakiet może być zarchiwizowany do formatu zip lub jar np. za pomocą programu narzędziowego jar dostarczanego w zestawie J2SDK

Page 17: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

17

Maszyna wirtualna Javy

Page 18: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

18

Programy w języku Java

aplety - małe programy z interfejsem graficznym uruchamiane przez przeglądarkę WWW z wbudowaną obsługą Javy lub specjalną przeglądarkę apletów o nazwie appletviewer dostarczaną w pakiecie J2SDK; informacja o tym skąd i jaki plik class lub jar załadować wbudowywana jest w stronę WWW w postaci specjanego znacznika HTML, który dodatkowo może zawierać parametry uruchomieniowe apletu,

Page 19: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

19

Programy w języku Java

aplikacje - graficzne lub tekstowe programy uruchamiane przez maszynę wirtualną pracującą z poziomu systemu operacyjnego; implementacją maszyny wirtualnej w pakiecie J2SDK jest program java uruchamiany z linii komend wraz z parametrem określającym plik class lub jar w lokalnym systemie plików, od którego zaczyna się wykonywanie aplikacji

Page 20: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

20

Programy w języku Java

serwlet - program wykonywany po stronie serwera

midlet - program wykonywany w urządzeniu przenośnym

Page 21: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

21

Aplikacja

jedna z klas musi zawierać metodę public static void main(String[ ] args)

jeśli jest to klasa publiczna, nazwa tej klasy musi być taka sama jak nazwa pliku, w której jest zdefiniowana

po kompilacji pliku źródłowego .java do B-kodu (polecenie javac) powstają pliki .class (dla każdej klasy osobny plik)

Page 22: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

22

Aplikacja

poleceniem java klasa .class zostaje załadowana przez JVM (Java Virtual Machine) i sterowanie zostaje przekazane do metody main( ), gdzie zaczyna się „życie”: tworzenie obiektów, odwołania do innych klas aplikacji

Page 23: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

23

Aplikacja

class Aplikacja1 {

public static void main(String[] args) {

System.out.println("Hello World!");

}

}

Page 24: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

24

Aplikacja

Przy założeniu, że kod aplikacji zapisany został w pliku

Aplikacja1.java

kompilujemy go kompilatorem javac wydając polecenie:

javac Aplikacja1.java

Page 25: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

25

Aplikacja

W wyniku kompilacji otrzymamy plik z kodem pośrednim

Aplikacja1.class

który możemy uruchomić wykorzystując interpreter java

java Aplikacja1

Page 26: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

26

Aplet

import java.applet.*;

import java.awt.*;

public class Aplet1 extends Applet {

public void init() {

add(new Label(„Hello world”));

}

}

Page 27: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

27

Aplet

Jeżeli kod źródłowy zapisany został w pliku

Aplet1.java

to kompilujemy go kompilatorem javac poleceniem:

javac Aplet1.java

Page 28: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

28

Aplet

Po poprawnej kompilacji utworzony zostanie plik z kodem pośrednim

Aplet1.class

odwołanie do tego pliku umieszczamy w kodzie HTML przykładowej strony WWW za pomocą znacznika <applet>

Page 29: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

29

Aplet

<html> <head> <title>Aplet1</title></head> <body> <applet code="Aplet1.class" width="400"

height="200"> </applet> </body> </html>

Page 30: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

30

Aplet

Jeżeli kod HTML strony WWW został zapisany w pliku

Aplet1.html

to działanie apletu możemy sprawdzić ładując stronę do przeglądarki lub korzystając z interpretera appletviewer poprzez podanie komendy:

appletviewer Aplet1.html

Page 31: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

31

AppletViewer

Page 32: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

32

Widok w przeglądarce

Page 33: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

33

Maszyna wirtualna Javy

Wyszukiwaniem i ładowaniem plików zawierających kod pośredni zajmuje się moduł ładujący (byte-code loader, class-loader)

klasy, o ile to możliwe, ładowane są w pierwszej kolejności z lokalnego systemu plików a następnie z sieci

Page 34: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

34

Maszyna wirtualna Javy

Przed rozpoczęciem wykonywania załadowanego kodu bajtowego jest on sprawdzany przez weryfikator w czterech etapach

weryfikacja pliku klasy: weryfikacja sygnatury pliku i jego struktury

weryfikacja tworzenia podklas, stałych, wskaźników do obszarów pamięci

Page 35: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

35

Maszyna wirtualna Javy

weryfikacja kodu bajtowego: analiza metod, kontrola argumentów, inicjalizacji zmiennych, analiza stosu argumentów, badanie możliwości wystąpienia nadmiaru i niedomiaru podczas operacji arytmetycznych

sprawdzenie podczas wykonania typu danych oraz dostępu: analiza poziomów dostępu do składowych prywatnych i chronionych

Page 36: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

36

Maszyna wirtualna Javy

Maszyna wirtualna może zawierać zintegrowany kompilator JIT, który "w locie" (Just-In-Time) generuje kod wykonywalny specyficzny dla danego komputera na podstawie kodu pośredniego.

Przy pierwszym uruchomieniu kod pośredni trafia wprost do interpetera, ale jest kompilowany i zapamiętywany w postaci kodu wynikowego.

Kolejne odwołanie do tego kodu powoduje, że wykorzystywany jest kod wynikowy, co przyśpiesza działanie programu nawet 20-krotnie.

Page 37: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

37

Maszyna wirtualna Javy

menedżer bezpieczeństwa jest klasą implementującą powłokę ochronną w układzie maszyna wirtualna/przeglądarka

określa i nadzoruje politykę dostępu przeglądarki do zasobów lokalnych i sieciowych

Page 38: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

38

Maszyna wirtualna Javy

menedżer bezpieczeństwa musi wyrazić zgodę na uzyskanie przez aplet dostępu do następujących zasobów:

komunikacji sieciowej, danych w lokalnym systemie plików, procesów systemu operacyjnego, modułu ładowania, bibliotek Javy

Page 39: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

39

Maszyna wirtualna Javy

przy standardowych ustawieniach aplety załadowane przez sieć nie mają np. dostępu do lokalnego systemu plików i mogą nawiązywać połączenia sieciowe tylko z serwerem, z którego zostały załadowane.

aplikacje nie podlegają tym ograniczeniom i mogą uzyskiwać dostęp do dowolnych zasobów lokalnych i sieciowych

Page 40: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

40

Maszyna wirtualna Javy

Obiekty, do których nie istnieją w programie żadne odwołania (referencje), są usuwane przez moduł czyszczenia pamięci (garbage collector) - implementowany jako osobny wątek sterowania o niskim priotytecie.

Może być on uaktywniony: synchronicznie - gdy brakuje pamięci lub na żądanie

programu, asynchronicznie - gdy system nie wykonuje żadnych

działań na rzecz programu

Page 41: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

41

Pakiet Java 2 SDK

wersję pakietu Java 2 Software Developers Kit Standard Edition można pobrać ze stron WWW firmy Sun Microsystems pod adresem http://java.sun.com

Page 42: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

42

Struktura pakietu Java 2 SDK

instalator umieszcza pliki pakietu w podkatalogach katalogu instalacyjnego

standardowo jest to podkatalog o nazwie jdk-numer-wersji tworzony we wskazanym katalogu

Page 43: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

43

Struktura pakietu Java 2 SDK

Page 44: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

44

W momencie uruchamiania programów Javy, maszyna wirtualna poszukuje klas do załadowania kolejno w następujących miejscach

wśród klas rozruchowych (bootstrap classes) w archiwach rt.jar i i18n.jar z katalogu jdk/jre/lib,

wśród zainstalowanych rozszerzeń (installed extensions) tj. klas zawartych w plikach jar lub zip z katalogu jdk/jre/lib/ext,

wśród klas użytkownika z katalogów i plików jar lub zip wskazanych przez zmienną środowiskową CLASSPATH lub opcję -classpath interpretera (katalog aktualny zawsze dołączany jest do listy katalogów z klasami użytkownika).

Page 45: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

45

Podstawowe narzędzia pakietu

Interpreter apletów Javy; uruchamia aplety Javy zawarte w dokumentach HTML.

appletviewer

interpreter aplikacji Javy; uruchamia kod bajtowy aplikacji Javy bezpośrednio z plików klasowych class

java

kompilator Javy; przetwarza kod źródłowy programu w Javie na kod pośredni

javac

OpisNazwa

Page 46: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

46

Podstawowe narzędzia pakietu

generator dokumentacji; tworzy dokumentację w języku HTML na podstawie plików źródłowych i specjalnych komentarzy dokumentacyjnych, plików z kodem pośrednim wykorzystywanych klas i dodatkowych plików z informacjami dostarczonymi przez programistę

javadoc

OpisNazwa

Page 47: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

47

Podstawowe narzędzia pakietu

weryfikator rozszerzeń; sprawdza poprawność zainstalowanych rozszerzeń pod kątem konfliktów wersji i nazw

extcheck

debuger Javy; pozwala na wykonywanie programu krok po kroku po jednej linii na raz, przy jednoczesnym śledzeniu stanu zmiennych.

jdb

archiwizator Javy; pozwala tworzyć i zarządzać archiwami w formacie jar

jar

OpisNazwa

Page 48: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

48

Podstawowe narzędzia pakietu

Generator plików w języku C; tworzy pliki nagłówkowe .h i źródłowe .c, które mogą być wykorzystane w programach w języku C wywołujących procedury w Javie lub do pisania procedur w C wykorzystywanych przez programy w Javie

javah

Disasembler Javy; odtwarza kod źródłowy na podstawie kodu pośredniego z pliku klasowego class

javap

OpisNazwa

Page 49: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

49

Podstawowe narzędzia pakietu

Ścieżka (bezwględna) do katalogu jdk/bin powinna być umieszczona w zmiennej systemowej PATH

Page 50: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

50

javac - kompilator

Składnia wywołania: javac [opcje] [pliki-źródłowe] [@plik-z-listą-

plików-źródłowych] pliki źródłowe z rozszerzeniem java mogą

być wymienione w linii komend lub zebrane w listę rozdzieloną odstępami i/lub znakami nowego wiersza zapisaną w pliku, którego nazwa podawana jest po znaku @

Page 51: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

51

javac - kompilator

w wyniku kompilacji powstają pliki z kodem pośrednim o rozszerzeniu class.

każdy plik class zawiera jedną skompilowaną klasę lub interfejs

program w języku Java jest zbiorem definicji klas i interfejsów

Page 52: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

52

javac - kompilator

Program w języku Java może być zapisany w jednym pliku lub w wielu plikach przy czym:

w jednym pliku źródłowym może znajdować się co najwyżej jedna klasa publiczna

jeżeli plik źródłowy zawiera definicję klasy publicznej, to jego nazwa musi być identyczna z nazwą tej klasy (wielkość liter jest istotna).

Page 53: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

53

javac - kompilator

Page 54: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

54

javac - kompilator

Page 55: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

55

Ważniejsze opcje kompilatora javac

classpath lista-ścieżek-do-katalogów-i-archiwów

opcja wskazuje położenia plików jar, zip i katalogów z klasami i interfejsami użytkownika, potrzebnymi do przeprowadzenia kompilacji

separatorem listy jest separator ścieżek systemu operacyjnego

opcja zastępuje ustawienia zmiennej CLASSPATH

jeżeli nie jest ustawiona zmienna CLASSPATH i nie podano opcji -classpath to domyślnie przyjmowany jest katalog aktualny

Page 56: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

56

Ważniejsze opcje kompilatora javac

sourcepath lista-ścieżek-do-katalogów-i-archiwów

opcja wskazuje położenia plików jar, zip i katalogów z klasami i interfejsami użytkownika w wersji źródłowej, potrzebnymi do przeprowadzenia kompilacji

separatorem listy jest separator ścieżek systemu operacyjnego

jeżeli opcja -sourcepath nie została podana, to wykorzystywane są ścieżki ustawione w zmiennej CLASSPATH lub za pomocą opcji -classpath

Page 57: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

57

java - interpreter aplikacji

Składnia wywołania: java [opcje] nazwa-klasy [argumenty]

jako parametr podawana jest nazwa klasy (bez rozszerzenia class), od której zaczyna się wykonanie aplikacji. Klasa taka nazywana jest klasą startową

Page 58: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

58

java - interpreter aplikacji

java [opcje] -jar plik.jar [argumenty]

wskazywany jest plik archiwum z rozszerzeniem jar, który zawiera klasę startową, inne klasy aplikacji oraz pliki zasobów (grafiki, dźwięki i.t.p.).

Page 59: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

59

appletviewer - interpreter apletów

Składnia wywołania:

appletviewer [opcje] url interpreter apletów pozwala uruchamiać aplety bez

korzystania z przeglądarki WWW jako parametr podawany jest url strony WWW jeśli w stronę WWW wbudowanych jest kilka

apletów, to dla każdego z nich otwierane jest osobne okno interpretera

Page 60: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

60

Pakiet

pakiet jest mechanizmem łączenia w pewną całość logicznie powiązanych klas i interfejsów

zapewniania kontrolę dostępu do klas i interfejsów oraz ich składowych

pozwala unikać kolizji nazw biblioteki Javy zorganizowane są w pakiety

Page 61: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

61

Pakiet

Przynależność klas i interfejsów zdefiniowanych w danym pliku do konkretnego pakietu możemy określić podając jako pierwszy wpis w pliku źródłowym deklarację pakietu

package nazwa-pakietu; dalsza-część-pliku-źródłowego

Page 62: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

62

Pakiet

pakiety mogą zawierać podpakiety i tworzyć hierarchie zorganizowaną w strukturę drzewa

struktura ta jest mapowana na strukturę katalogów

katalogi zawierają skompilowane pliki klas i interfejsów

Page 63: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

63

Pakiet

Page 64: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

64

Pakiet

programy mogą wykorzystywać klasy i interfejsy z istniejących pakietów deklarując ich import

można importować wszystkie klasy i interfejsy danego pakietu podając w deklaracji importu symbol * na końcu nazwy pakietu

Page 65: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

65

Pakiet

deklaracja z symbolem* oznacza, że wykorzystane zostaną z danego pakietu tylko te definicje klas i interfejsów, które są niezbędne do skompilowania i uruchamiania programu

jeśli nie podano żadnej deklaracji importu, to i tak domyślnie zawsze importowany jest pakiet java.lang.*

Page 66: JAVA · 2016-11-17 · 3 Historia języka Java Język Java został opracowany w laboratoriach firmy Sun Microsystems pod kierunkiem Jamesa Goslinga 1990 - początek prac na projektem

66

Przykładowe pakiety platformy Java 2

Nazwa Opis

java.lang podstawowe klasy jezyka np. Object, String

java.applet tworzenie apletów

java.awt składniki GUI

java.io strumienie we/wy i pliki

java.net obsługa sieci

java.util klasy użytkowe, specjalne struktury danych