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. 1.Wprowadzenie.

    Przykłady pierwszych, prostych programów oraz podstawowe cechy języka.


  1. 2.Klasy, interfejsy itp.

    Kontynuacja. Podstawowe cechy klas, klas abstrakcyjnych i interfejsów. Zmienne statyczne.


  1. 3.Wyjątki, kolekcje.

    Obsługa wyjątków, błędy, kolekcje jako użyteczne struktury danych - przykłady (Vector, Hashtable, Properties).


  1. 4.Typy generyczne (szablony).

    Typy generycvzne w języku java - wprowadzenie, dziedziczenie typów, zasada działania i ograniczenia.


  1. 5.Obsługa I/O, strumienie.
    Strumienie bajtowe, znakowe i binarne. Skanowanie i formatowanie. Serializacja.


  1. 6.Współbieżność

    Procesy i wątki - tworzenie i podstawowe operacje, synchronizacja, typowe problemy, blokady, egzekutory.


  1. 7.Swing
    Wprowadzenie do Swing - pakietu służącego do tworzenia graficznych interfejsów użytkownika. Komponenty tekstowe.


  1. 8. Java i sieci
    Klasy URL i URLConnection, interfejs gniazd, przykłady komunikacji z wykorzystaniem TCP oraz SSL.


  1. 9. Java i XML
    Przetwarzanie dokumentów XML w Javie. DOM, SAX, JAXB. Narzędzie Ant


  1. 10. Java i bazy danych

    Obsługa relacyjnych baz danych z poziomu Javy. Baza HSQLD

  1. 11. Programowanie refleksyjne
    Pakiet java.lang.reflect. Dynamiczne klasy proxy.

  2. 12.Programowanie funkcyjne
    Funkcje, wyrażenia lambda, strumienie


  1. 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++)


  1. 14.Programowanie dynamiczne
    Analiza bytecodu, biblioteka ASM służąca do modyfikacji klas (bytecodu) z poziomu działającego programu w Javie.

  2. 15.Elementy JEE
    Apache Tomcat, servlety, JSP, JavaBeans


Inne wykłady (obecnie poza kursem):


  1. -  Operacje na plikach i katalogach
        Wybrane klasy pakietu java.nio.file, Strumienie przeznaczone do kompresji i archiwizacji, narzędzie JAR.

  2. -  Swing c.d.
        Kontynuacja. JFileChooser, JOptionPane, obsługa dran’n drop.