JĘZYK JAVA
JĘZYK JAVA
Wykład przedstawia wybrane elementy języka Java. Początkowe wykłady opisują podstawowe konstrukcje i struktury danych występujące w Javie. Następnie omówione zastają wybrane pakiety mające istotne znaczenie w typowej pracy programisty (tworzenie graficznych interfejsów użytkownika, komunikacja sieciowa, przetwarzanie XML’a). Ostatnie wykłady poświęcono nieco bardziej zaawansowanym mechanizmom, udostępnianym dla programistów Javy.
Wykład nie zawiera informacji na temat obsługi baz danych, czy też technologii webowych związanych z Javą.
Ramowy plan wykładu:
1.Wprowadzenie.
Przykłady pierwszych, prostych programów oraz podstawowe cechy języka.
Kontynuacja. Podstawowe cechy klas, klas abstrakcyjnych i interfejsów. Zmienne statyczne.
Obsługa wyjątków, błędy, kolekcje jako użyteczne struktury danych - przykłady (Vector, Hashtable, Properties).
Typy generycvzne w języku java - wprowadzenie, dziedziczenie typów, zasada działania i ograniczenia.
5.Obsługa I/O, strumienie.
Strumienie bajtowe, znakowe i binarne. Skanowanie i formatowanie. Serializacja.
Procesy i wątki - tworzenie i podstawowe operacje, synchronizacja, typowe problemy, blokady, egzekutory.
7.Swing
Wprowadzenie do Swing - pakietu służącego do tworzenia graficznych interfejsów użytkownika. Komponenty tekstowe.
8. Java i sieci
Klasy URL i URLConnection, interfejs gniazd, przykłady komunikacji z wykorzystaniem TCP oraz SSL.
9. Java i XML
Przetwarzanie dokumentów XML w Javie. DOM, SAX, JAXB. Narzędzie Ant
Obsługa relacyjnych baz danych z poziomu Javy. Baza HSQLD
11. Programowanie refleksyjne
Pakiet java.lang.reflect. Dynamiczne klasy proxy.
12.Programowanie funkcyjne
Funkcje, wyrażenia lambda, strumienie
13.Java Native Interface
Korzystanie z bibliotek natywnych (C/C++) z poziomu programu w Javie, dostęp do obiektów Javy z poziomu kodu natywnego (C/C++)
14.Programowanie dynamiczne
Analiza bytecodu, biblioteka ASM służąca do modyfikacji klas (bytecodu) z poziomu działającego programu w Javie.
15.Elementy JEE
Apache Tomcat, servlety, JSP, JavaBeans
Inne wykłady (obecnie poza kursem):
- Operacje na plikach i katalogach
Wybrane klasy pakietu java.nio.file, Strumienie przeznaczone do kompresji i archiwizacji, narzędzie JAR.
- Swing c.d.
Kontynuacja. JFileChooser, JOptionPane, obsługa dran’n drop.