Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

Přednášky

Podklady přednášek pro aktuální akademický rok 2023/2024. Podklady se skládají z promítaných slidů, které jsou také k dispozici ve zkrácených verzích šetřnějších k případnému tisku, bez přechodů mezi snímky a ve formátu čtyři snímky na stránku. K většině přednášek jsou k dispozici vide a komentovanými slidy. Tyto materiály nenahrazují přednášku, mohou být nedokonalé, zastaralé a nekompletní.

Poklady tvoří podpůrný materiál a jejich učelem není nahradit vlastní zápisky z přednášky, které slouží také jako prostředek osvojení si studované problematiky.

Podklady mohou být průběžné aktualizovány.

Harmonogram přednášek

Týden Datum Přednáška
1 21.2.2024 01 - Úvod [Ladislav Serédi]
2 *28.2.2024 02 - Objektově orientované programování [Ladislav Serédi]
3 *6.3.2023 03 - Výčtové typy a kolekce v Javě, generické typy [Ladislav Serédi]
4 13.3.2024 04 - Výjimky a soubory [Jiří Vokřínek]
5 20.3.2024 05 - Vícevláknové aplikace 1 [Jiří Vokřínek]
6 *27.3.2024 06 - GUI v Javě [Ladislav Serédi]
7 *3.4.2024 07 - GUI v Javě, událostmi řízené programování [Ladislav Serédi]
8 10.4.2024 08 - Vícevláknové aplikace 2 [Jiří Vokřínek]
9 17.4.2024 09 - Sokety a síťování [Jiří Vokřínek]
10 *24.4.2024 Samostudium
11 1.5.2023 Státní svátek
12 (Čt)9.5.2023 10 - Výkon a profilování [Jiří Vokřínek]
13 15.5.2023 11 - Uklízení odpadků a analýza úniku [Jiří Vokřínek]
14 22.5.2023 Samostudium doplňujících materiálů

01 - Úvod

Organizace předmětu; programovací jazyk Java.

Úvod do objektově orientovaného modelování (analýzy a návrhu); objektově orientované programování (OOP); struktura objetu a zapouzdření.

Konstruktor, singleton, metoda main, immutable objekty.

Aktualizace 2020/02/19 9:25

02 - Objektově orientované programování

Objektově orientované programování. Immutable. Dědičnost, kompozice a polymorfismus. Dispatch a double dispatch.

Aktualizace 2019/02/25 12:50 – úprava single-dispatch demonstračního příkladu

03 - Výčtové typy a kolekce v Javě, generický typ

Výčtové typy, kolekce, iterátor, JFC. Generické typy.

Aktualizace 2017/03/09 7:42

04 - Výjimky a soubory

Výjimky. Soubory.

  • komentovaná prezentace (přístupná po fakultním přihlášení) video lekce 4

Aktualizace 2020/03/25 8:45 - přidáno video s komentovanou prezentací

05 - Vícevláknové aplikace 1

Paralelismus, synchronizace výpočetních toků, vícevláknové aplikace.

  • komentovaná prezentace (přístupná po fakultním přihlášení) video lekce 7

Aktualizace 2020/04/21 21:55 - přidáno video s komentovanou prezentací

06 - GUI

GUI v Javě, komponenty a kontejnery, dialogová okna (modalita).

  • komentovaná prezentace (přístupná po fakultním přihlášení) video lekce 5

Aktualizace 2020/04/07 15:35 - přidáno video s komentovanou prezentací

07 - GUI v Javě, událostmi řízené programování

GUI v Javě, Model-View-Controller, Event-Driven Programming, vnitřní třídy.

  • komentovaná prezentace (přístupná po fakultním přihlášení) video lekce 6

Aktualizace 2020/04/10 17:02 - přidáno video s komentovanou prezentací

08 - Vícevláknové aplikace 2

Vícevláknové aplikace - příklad GUI, vzor observer. Modely vícevláknových aplikací.

  • komentovaná prezentace (přístupná po fakultním přihlášení) video lekce 8

Aktualizace 2024/04/10 10:50 - přidán zjednodušený příklad CanvasDemo

09 - Sokety a síťování

Síťování, síťová API - soket, jednoduchý klient a server, boss/worker server/klient.

  • komentovaná prezentace (přístupná po fakultním přihlášení) video lekce 9

Aktualizace 2020/05/12 19:48 - přidáno video s komentovanou prezentací

Aktualizace 2021/04/14 10:30 - přidány zjednodušené příklady

10 - Výkon a profilování

Výkon aplikace, profilování v NetBeans, příklady.

  • prezentace: lecture10.pdf
  • zkrácená verze:
  • zkrácená verze 2×2:
  • přiložené demonstrační programy: 10.zip

11 - Uklízení odpadků a analýza úniku

Správa paměti, Garbage Collection, Escape Analysis a alokace na stacku.

  • prezentace: lecture11.pdf
  • zkrácená verze:
  • zkrácená verze 2×2:
  • přiložené demonstrační programy: 11.zip

Aktualizace 2019/09/05 11:22 - drobné opravy textu

Samostudium doplňujících materiálů

Concurrency Concepts in Java by Douglas Hawkins

  • model paměti, vliv hardware
  • chování vláken může být “zmatené”
  • immutable objekty, atomicita
  • relevantní k přednášce 5 a 8

Java Performance Puzzlers 2018 - New by Douglas Hawkins

  • výkonnost programu
  • zajímavé (a mnohdy neintuitivní) případy
  • JIT a dynamická optimizace
  • relevantní k přednášce 10 a 11
Podklady budou průběžné aktualizovány
courses/b0b36pjv/prednasky.txt · Last modified: 2024/04/17 12:39 by xvokrine