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 2021/2022. 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

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 2020/04/28 20:30 - přidáno video s komentovanou prezentací

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: 2023/04/18 10:50 by xvokrine