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

Týden Datum Přednáška
1 16.2.2022 01 - Úvod
2 23.2.2022 02 - Objektově orientované programování
3 2.3.2022 03 - Výčtové typy a kolekce v Javě, generické typy
4 9.3.2022 04 - Výjimky a soubory
5 16.3.2022 05 - GUI v Javě
6 23.3.2022 06 - GUI v Javě, událostmi řízené programování
7 30.3.2022 07, 08 - Vícevláknové aplikace 1, 2
8 6.4.2022 Samostudium komentovaných prezentací k tématům 6, 7 a 8.
9 13.4.2022 09 - Sokety a síťování
10 20.4.2022 10 - Výkon a profilování
11 27.4.2022 11 - Uklízení odpadků a analýza úniku
12 4.5.2022 Samostudium doplňujících materiálů
13 11.5.2022 Rektorský den
14 18.5.2022

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 - 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í

06 - 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í

07 - 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í

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 7 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: 2022/04/26 15:04 by xvokrine