Java wykłady:
JAVA język programowania sieciowego
w Internecie
obiektowy język programowania stworzony przez grupę roboczą z firmy Sun Microsystem.
kompilowany do postaci wykonywanej przez maszynę wirtualną - program stanowiący część składową standardowych komputerów
Podstawowe koncepcje JAVY zostały przejęte
z języka Smalltalk : maszyna wirtualna oraz
z języka C + + duża część składni i słów kluczowych.
Charakterystyka programowania
w JAVA TM
programowanie obiektowe
grupowanie obiektów w klasy tworzące
pola i metody
tworzenie programu jako pliku tekstowego, kompilowanego do pośredniego kodów bajtowego i maszynowego interpretowanego przez tzw.
JVM Java Virtual Machine
Niezależność od sprzętu - praca z Javą jest możliwa z każdym typem procesora.
Wielo-platformowość - skompilowany program napisany w Javie można uruchamiać na różnych platformach systemów operacyjnych: LINUX, WINDOWS, UNIX, MAC OS, OS/2. DOS,
Możliwość uruchamiania programów Javy poprzez przeglądarki internetowe praca z apletami, e-mail, interfejsami dostępu do serwerów Web ….
Wielowątkowość - możliwość tworzenia i obsługi równolegle działających wątków
CHARAKTERYSTYCZNE CECHY JAVY
język obiektowy.
składniowe podobieństwo do C/C++
ścisła kontrola deklaracji i zapisów.
automatyczne zwalnianie nie używanych obszarów pamięci.
wprowadzenie mechanizmów zapewniających bezpieczeństwo programowania.
możliwość tworzenia i obsługi równolegle działających wątków.
możliwość uruchomienia programu na stronach WWW (aplet)
Java : niezależność od architektury
Niezależność gwarantuje kod źródłowy programów Javy kompilowany automatycznie do do pośredniego kodu tzw. bytecode.
Kod taki jest niezależny od systemu operacyjnego komputera a wykonuje go translator - maszyna wirtualna, która „tłumaczy” kod uniwersalny na kod dostosowany do specyfiki konkretnego systemu operacyjnego komputera.
Aktualnie wirtualna maszyna Javy jest już dostępna dla niemal wszystkich systemów operacyjnych.
program jest :
kompilowany do kodu bajtowego,
każdy bajt kodu jest zastępowany przez interpreter rozkazami procesora w komputerze wyposażonym w interpreter
np. przeglądarkę internetową, która może być wirtualną maszyną Javy (JVM ).
Mechanizm kompilacji wyróżnia Javę gdyż zwykle kod źródłowy programu jest albo kompilowany (np. C/C++, Pascal, Fortran)
albo interpretowany (np. Basic).
Wykorzystanie JAVY
przetwarzanie informacji poprzez tworzenie programów zagnieżdżonych w plikach języków skryptowych głównie XML (może to również odbywać się w HTML)
programowanie sieciowe obsługi baz danych JDBC
programowanie komponentów i aplikacji z gotowych komponentów - standard Java Beans
programowania w systemach rozproszonych -
standard RMI
programowania w strukturach mikroprocesorowych -
standard 2JME - Micro-Java np. poprzez wykorzystywanie telefonów komórkowych
programowanie oparte o komunikaty - standardy
JMS - Java Message Service, JSP - Java Servlet Pages, JavaScript
programowania aplikacji multimedialnych - standard Java 3D, Java Media Framework
OKREŚLAJĄ BIBLIOTEKI PODRPGRAMÓW
(SUB - PROGRAMY) DO :
interfejsów graficznych aplikacji (AWT, Swing)
przetwarzania dokumentów (język HTML i XML)
obsługi baz danych (API JDBC)
komponentów i aplikacji z gotowych podprogramów (Java Beans)
programowania sieciowego w systemach rozproszonych (RMI)
programowania mikroprocesorów standard 2JME
programowania multimediów (Java 3D, Java Media Framework)
Najpopularniejsze :
GEL (GExperts INC.)
Java Development Kit (Sun Microsystems)
Java Builder (Inprise Corporation)
Visual Cafe (Symantec Corporation)
Składowe elementy programowania w Javie
Identyfikatory, słowa kluczowe, komentarze, typy danych, operatory, stałe, zmienne
Instrukcje
Klasy
Pakiety
Struktura programu
Tablice
Łańcuchy
Obiektowość w Java
Dane i mechanizmy operowania nimi (funkcje) wykonywane są wyłącznie przez obiekty pogrupowane w klasy obiektów.
Obiekt - autonomiczna część programu, przyjmuje określone stany i posiada określone zachowania, które mogą zmieniać te stany, bądź przesyłać dane
do innych obiektów.
W JAVIE wszystkie obiekty :
są pochodną obiektu nadrzędnego Object,
z którego dziedziczą podstawowe zachowania
i właściwości.
posiadają wspólny podzbiór podstawowych możliwości: identyfikacji, porównywania, kopiowania, niszczenia oraz wsparcia dla programowania współbieżnego.
Sposób tworzenia programu
Napisanie tekstu źródłowego programu zapisywanego w pliku z rozszerzeniem .java
Kompilacja i tworzenie plików z kodem poszczególnych klas posiadających nazwę danej klasy i rozszerzenie .class
Interpretacja i utworzenie kodu wykonywanego na komputerze.
Komputery wyposażone w interpreter
tzw. wirtualne maszyny Javy (JVM), które realizują przetwarzanie w plikach binarnych.
WĄTKI PROGRAMOWE
Wątek - ciąg instrukcji wykonywanych wyłącznie kolejno jedna po drugiej
Wielowątkowość - wykonywanie ciągów instrukcji jednocześnie w rożnych fragmentach programu.
WARUNEK :
Zapewnienie synchronizacji w kolejności wykonywania instrukcji dla uniknięcia zakleszczeń.
PODSTAWOWE ZMIENNE (variables)
boolean true or false
char 16-bit znaki w Unicode
byte 8-bitowe liczby całkowite ze znakiem
short 16-bitowe liczby całkowite ze znakiem
int 32-bitowe liczby całkowite ze znakiem
long 64-bitowe liczby całkowite ze znakiem
float 32-bitowe liczby zmiennopozycyjne ze znakiem
double 64-bitowe liczby zmiennopozycyjne ze znakiem
prócz tego wykorzystywane są także stałe (constants) nie zmieniające się w czasie programu
OPEROWANIE INSTRUKCJAMI
Podobne jak w innych językach,
ważną rolę i tu odgrywają instrukcje iteracji (pętli), są to instrukcje
while
if - else
for
switch
do - while
Typowe są bloki (blocs) - ciągi instrukcji ujęte
w nawiasy klamrowe { i }
wywołując metodę należy podać referencje do obiektu, nazwę metody oraz listę argumentów
zmienne proste przechowują jedną wartość, bardziej złożone operują tablicami (arrays)
istotną rolę w tworzeniu napisów odgrywa w JAVA klasa String, której obiekty służą do reprezentowania ciągów znaków
INTERFEJSY
W JAVA definiowane są tzw. interfejsy, których sens jest podobny do klas obiektów, ale zawierają one tylko deklaracje metod, a nie ich definicje.
Pozwalają one deklarować, które metody są obsługiwane przez klasy implementujące dany interfejs i co te metody maja robić.
ROZSZERZANIE KLASY
Polega na rozszerzaniu istniejących klas obiektów
o istniejące już wcześniej kody wiąże się z mechanizmami obiektowymi dziedziczenia
i polimorfizmu.
Operowanie programem
OTWIERANIE PROGRAMU
Zapisanie programu źródłowego w pliku z rozszerzeniem .java
Po kompilacji tworzone są pliki z kodem poszczególnych klas posiadające nazwę danej klasy i rozszerzenie .class
Po zinterpretowaniu powstaje kod wykonywany na komputerach. Komputery wyposażone w interpreter tzw. wirtualne maszyny Javy (JVM), ładują i wykonują pliki binarne.
KOMPILACJA I URUCHOMIENIE PROGRAMU NA DOWOLNEJ PLATFORMIE:
otwarcie w dowolnym edytorze tekstowym pliku z rozszerzeniem .bat, który zawiera ścieżkę dostępu do katalogu bin
skopiowanie pliku <nazwa_pliku>.java do katalogu bin
uruchomienie ścieżki: javac.exe <nazwa_pliku>.java
(powoduje to kompilację i utworzenie pliku(-ów) <nazwa_klasy>.class)
dopisanie do pliku z punktu 1. linijki ze ścieżką dostępu do interpretera i wywołanie nazwy pliku z programem,
np.: c:\JBuilder5\jdk1.3\bin\java java <nazwa_pliku>
KOMPILACJA I URUCHOMIENIE PROGRAMU NA DOWOLNEJ PLATFORMIE
utworzenie w dowolnym edytorze tekstowym pliku
z rozszerzeniem .bat, który zawiera ścieżkę dostępu
do katalogu .bin
skopiowanie pliku <nazwa_pliku>.java do katalogu .bin
uruchomienie ścieżki javac.exe <nazwa_pliku>.java odpowiedzialnej za kompilację i utworzenie pliku(-ów) <nazwa_klasy>.class)
dopisanie do pliku linijki ze ścieżką dostępu do interpretera i wywołanie nazwy pliku z programem
np.: c:\JBuilder5\jdk1.3\bin\java java <nazwa_pliku>
uruchomienie pliku.
PODSTAWOWE PAKIETY WCHODZACE DO OPROGRAMOWANIA JAVA
java.lang zawiera podstawowe klasy Java automatycznie importowane do każdego programu;
java.applet pozwala na tworzenie apletów zwiększających interaktywności stron WWW;
java.awt (AWT - Abstract Window Toolkit) pakiet klas do wspomagania tworzenia interfejsu graficznego użytkownika;
java.awt.peer zawiera wyspecjalizowane dla konkretnej platformy komponenty AWT;
java.awt.image przeznaczony do obróbki i zarządzania obrazem;
java.io zawiera klasy, zarządzające wejściowym i wyjściowym strumieniem danych;
java.util odpowiada za generację liczb losowych, operacje na ciągach znaków itp.
java.net wspomaga tworzenie programów sieciowych; Java posiada bowiem klasy umożliwiające korzystanie z podstawowych protokołów stosowanych w Internecie: FTP, HTTP, SMTP, NNTP oraz TCP/IP. Protokoły te są prostymi w użyciu obiektami Javy.
1