SZZ 01 Flashcards
Princip funkce počítače, princip a funkce mezijazyka, vykonávání programu v Javě, alokace paměti, oblast paměti zásobník, zásobníkové rámce, oblast paměti halda
1) Princip funkce počítače
2) Princip a funkce mezijazyka
3) Vykonávání programu v Javě
4) alokace paměti
5) oblast paměti zásobník
6) zásobníkové rámce
7) oblast paměti halda
Princip a funkce počítače
Princip funkce počítače je založen na konceptu uloženého programu (Von Neumann - Vstup -> CPU [ Řadič , ALU | Paměť ] -> výstup), kdy instrukce a data jsou uložena v paměti (dlouhá řada buňek, pouze číst/zapisovat). Na základě hodinových pulsů jsou instrukce zkopírovány do registrů v CPU, následně jsou rozkódovány a vykonány.
- data i instrukce jsou uloženy ve společné operační paměti
- procesor provádí instrukce, čte z operační paměti, zapisuje do operační paměti
- data mohou být načtena ze vstupních zařízení a odeslána na výstupní zařízení
- data mohou být trvale uchována v tzv. vnější paměti (HDD/SSD, flash disky, …)
Princip a funkce mezijazyka
Mezijazyk: kombinace interpratačního a kompilačního přístupu
Zdrojový kód je nejprve zkompilován do mezijazyka (bytecodu), ten je pak interpretován do strojového kódu.
- > Větší přenositelnost mezi platformami
- > Lepší optimalizace
Vykonávání programu v Javě
1) Zdrojový kód .java
2) Kompilace do bytecodu .class
3) Po spuštění je bytecode interpretován do strojového kódu
JIT compiler zlepšuje výkonost intepretovaného kódu pro metody, které se opakují
oblast paměti zásobník
● Zásobník v počítačové architektuře je část paměti uložena v RAM, kde jsou data přidávána a odebírána na způsob LIFO (last in first out).
● Zásobník se používá při statickém alokování paměti, to znamená že má fixní
velikost (při přetečení dochází ke stack overflow).
● Do zásobníku se ukládají veškeré lokální proměnné volané metody + parametry metody. Po ukončení metody se všechny lokální proměnné a parametry uvolní.
Zásobníkový rámec
Obsahuje informace k danému podprogramu (metodě)
- > Návratová adresa
- > Lokální parametry
- > Parametry metody
- > Na zásobníku odkazy na objekty na haldě
- > Alokování na zásobníku jen deklarací lokální proměnné
Halda
Uložení dat pro třídy, pole, řetězce
Odkazy uložené na zásobníku
Uvolňování paměti není triviální, stará se garbage collector
-> Mark and sweep, kopírovací algoritmus, generační algoritmy