Web Content Display
Office hours for students
thursday 12-14
room D-2-47
tel. (+48 12) 664 46 81
michal.ciesla@uj.edu.pl
Web Content Display
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.
Ramowy plan wykładu
- Wprowadzenie.
Przykłady pierwszych, prostych programów oraz podstawowe cechy języka.
- Klasy, interfejsy itp.
Kontynuacja. Podstawowe cechy klas, klas abstrakcyjnych i interfejsów. Zmienne statyczne.
- Wyjątki, kolekcje.
Obsługa wyjątków, błędy, kolekcje jako użyteczne struktury danych - przykłady (Vector, Hashtable, Properties).
- Typy generyczne (szablony).
Typy generyczne w języku java - wprowadzenie, dziedziczenie typów, zasada działania i ograniczenia.
- Obsługa I/O, strumienie.
Strumienie bajtowe, znakowe i binarne. Skanowanie i formatowanie. Serializacja.
- Współbieżność.
Procesy i wątki - tworzenie i podstawowe operacje, synchronizacja, typowe problemy, blokady, egzekutory.
- Swing.
Wprowadzenie do Swing - pakietu służącego do tworzenia graficznych interfejsów użytkownika. Komponenty tekstowe.
- Java i sieci.
Klasy URL i URLConnection, interfejs gniazd, przykłady komunikacji z wykorzystaniem TCP oraz SSL.
- Java i XML.
Przetwarzanie dokumentów XML w Javie. DOM, SAX, JAXB. Narzędzie Ant.
- Java i bazy danych.
Obsługa relacyjnych baz danych z poziomu Javy. Baza HSQLD.
- Programowanie refleksyjne.
Pakiet java.lang.reflect. Dynamiczne klasy proxy.
- Programowanie dynamiczne.
Analiza bytecodu, biblioteka ASM służąca do modyfikacji klas (bytecodu) z poziomu działającego programu w Javie.
- Programowanie funkcyjne.
Funkcje, wyrażenia lambda, strumienie
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. - 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++). - Elementy JEE.
Apache Tomcat, servlety, JSP, JavaBeans.