lab. 3

Transkrypt

lab. 3
Jacek Wiślicki
Systemy Multimedialne, lab. 3
Zadania wstępne:
• omówienie i instalacja JDK 1.5.
• omówienie i instalacja edytora Edit+ lub JEdit.
• zapoznanie z kompilatorem javac i sposobami uruchamiania środowiska JVM poprzez java i
javaw (tylko MS Windows) – parametry uruchomieniowe i opcje programów.
Polecenia:
1. Napisać aplikację konsolową wyświetlającą na ekranie tekst „Mój pierwszy program w Javie”.
2. Stworzyć plik .java zawierający 2 klasy z metodą main() (aplikacje). Należy pamiętać, że jeżeli
klasa zawierająca metodę main() jest publiczna, musi nazywać się tak samo jak plik źródłowy,
w którym jest zamieszczona. Opis klas:
a) KlasaA – publiczna, po uruchomieniu wyświetla na ekranie krótki tekst powitania
(wyświetlanie powitania zawarte w konstruktorze) i kończy działanie. Zawiera pola typy
String o nazwach NapisPierwszy i NapisDrugi z przypisanymi dowolnymi wartościami.
Zawiera także metodę wyswietlNapisy() wyświetlającą informację, że jest to metoda
obiektu klasy KlasaA oraz wartości zmiennych NapisPierwszy i NapisDrugi na konsolę.
b) KlasaB – po uruchomieniu wyświetla na ekranie krótki tekst powitania (wyświetlanie
powitania zawarte w konstruktorze). Następnie konstruuje obiekt klasy KlasaA i wywołuje na
nim metodę wyswietlNapisy().
Przykładowy wynik działania uruchomienia aplikacji KlasaA:
KlasaA – witam
Przykładowy wynik działania uruchomienia aplikacji KlasaB:
KlasaB
KlasaB
KlasaA
KlasaB
obiekt
- witam
- tworze instancje klasy KlasaA
- witam
- na obiekcie klasy KlasaA wywoluje metode wyswietlNapisy()
klasy KlasaA - wyswietlam napisy
napisPierwszy = napis 1
napisDrugi = napis 2
6. Na podstawie poprzedniego zadania dopisać do konstruktora klasy KlasaA tworzenie obiektu
klasy KlasaB. Aplikacja KlasaA powinna działać w taki sposób, ze wywołujemy poprzez
aplikację obiekt KlasaB, który w swoim konstruktorze tworzy instancję KlasaA. Natomiast
KlasaA ponownie wywołuje obiekt KlasaB.
Uwaga: takie działanie ma odnieść skutek w postaci nieskończonego rekurencyjnego
wywoływania jednej klasy z drugiej, aż do przepełnienia stosu (wyświetlenie
komunikatu błędu StackOverflowError).
javac
Kompilator Java wchodzący w skład JDK. Znajduje się w katalogu bin instalacji JDK (np. dla
Windows: C:\Program Files\Java\jdk1.5.0_01\bin\javac.exe). Może być wywoływany z linii
poleceń, jak również przez inne aplikacje (także te napisane w Java) – na tej zasadzie pracuje duża
część IDE dla Javy (aczkolwiek mogą one posiadać własne kompilatory zgodne z aktualną
specyfikacją Java). Kompilacja dużej liczby plików za pomocą jednego polecenia może być
dokonana poprzez użycie klasy sun.tools.javac.Main znajdującej się w pakiecie tools.jar w
strona 1 z 3
Jacek Wiślicki
Systemy Multimedialne, lab. 3
podkatalogu lib lokalnej instalacji JDK – pliki źródłowe przeznaczone do kompilacji są
przekazywane jako tablica napisów (String[]), co jest równoznaczne z przekazaniem tych
nazw/ścieżek jako parametrów uruchomieniowych aplikacji.
użycie kompilatora:
Jeżeli plik przeznaczony do kompilacji znajduje się w bieżącym katalogu i nazywa się
HelloWorld.java, kompilator należy uruchomić w następujący sposób:
javac -classpath . HelloWorld.java lub po prostu javac HelloWorld.java
Zależnie z jakiego katalogu uruchamiamy kompilacje, może istnieć konieczność poprzedzenia
wywołania javac.exe i/lub nazwy pliku pełną lub względną ścieżką.
wybrane parametry uruchomieniowe:
-help
generuj wszystkie informacje o debbugowaniu
-nowarn
nie pokazuj ostrzeżeń
-verbose
wyświetlaj pełne komunikaty błędów
-classpath
oddzielana separatorami ścieżki (pod Windows - średniki) lista powiązanych
z kompilowanym plikiem klas i pakietów
-nowrite
tylko sprawdza poprawność, nie generuje plików .class
-deprecation
ostrzega o używaniu deprecjonowanych (przestarzałych) metod
-d katalog
miejsce, gdzie umieścić pliki .class
-encoding UTF8
kodowanie plików źródłowych
@listOfFiles.txt plik zawierający listę plików do skompilowania (wiersz poleceń dla
niektórych wersji Windows jest zbyt krótki)
-target 1.1
wersja JRE, do której kompilować (tu: 1.1)
-source 1.1
wersja kompilatora, z którym zgodny jest kod źródłowy
-g
java i javaw
Programy uruchamiające Wirtualną Maszynę Java (JVM) wchodzące w skład JRE. Znajdują się w
katalogu bin instalacji JRE (np. dla Windows: C:\Program Files\Java\jdk1.5.0_01\bin\javac.exe w
przypadku instalacji JRE w ramach JDK lub C:\Program Files\Java\jre1.5.0_04\bin\bin w
przypadku samodzielnej instalacji JRE). Javaw jest programem stworzonym wyłącznie dla
systemów Windows (nie występuje w dystrybucjach JRE dla innych systemów operacyjnych) –
pozwala na uruchamianie JVM bez pokazywania konsoli Java. Działanie java i javaw poza tym jest
identyczne.
użycie JVM:
Jeżeli skompilowany plik znajduje się w bieżącym katalogu i nazywa się HelloWorld.class,
kompilator należy uruchomić w następujący sposób:
java -classpath . HelloWorld lub po prostu java HelloWorld
Zależnie z jakiego katalogu uruchamiamy kompilację, może istnieć konieczność poprzedzenia
wywołania java(w).exe i/lub nazwy pliku pełną lub względną ścieżką.
strona 2 z 3
Jacek Wiślicki
Systemy Multimedialne, lab. 3
wybrane parametry uruchomieniowe:
-help
-version
-v
-verbose
-Xincgc
-verbosegc
-noclassgc
-Xss64k
-Xoss300k
-Xms4m
-Xmx10m
-cp
-classpath
-jar plik.jar
wyświetla wersje kompilacji JVM
przełącza tryb wyświetlania komunikatów
j.w.
włącza przyrostowe oczyszczanie pamięci (garbage collection, GC)
wyświetla komunikaty działania GC
nie stosuje GC dla klas
ustawia minimalną wartość stosu dla dowolnego wątku w kB, tu: 64 kB
ustawia maksymalną wartość stosu dla dowolnego wątku w KB, tu: 300 kB
ustawia początkową wielkość stosu JVM w MB, tu: 4 MB
ustawia maksymalną wielkość stosu JVM w MB, tu: 10 MB
ścieżka klas używanych przez program
j.w.
uruchamia wykonywalny plik .jar
strona 3 z 3

Podobne dokumenty