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