JVM, xotira va Garbage Collector

Daraja: Ilg'or

JVM xotirani ikkiga bo'ladi: Stack (har oqimning o'z lokal o'zgaruvchilari, tez) va Heap (barcha obyektlar, umumiy). Garbage Collector heap'dagi murojaat qilinmaydigan obyektlarni avtomatik tozalaydi. Xotira sizishi (memory leak) Java'da ham bo'ladi — keraksiz obyektga havola ushlab turilsa GC uni tozalay olmaydi.

Tushuntirish

JVM xotirani ikkiga bo'ladi: Stack (har oqimning o'z lokal o'zgaruvchilari, tez) va Heap (barcha obyektlar, umumiy). Garbage Collector heap'dagi murojaat qilinmaydigan obyektlarni avtomatik tozalaydi. Xotira sizishi (memory leak) Java'da ham bo'ladi — keraksiz obyektga havola ushlab turilsa GC uni tozalay olmaydi.

Kod misoli

// Stack: lokal o'zgaruvchi
int x = 5;

// Heap: obyekt
List<String> ro = new ArrayList<>();

// Havolani uzsak, GC tozalashi mumkin bo'ladi
ro = null;

// Foydali flaglar:
// java -Xms256m -Xmx1g -XX:+UseG1GC Main
// java -XX:+PrintGCDetails Main

Keng tarqalgan xatolar

Mashqlar

Teglar: gc, xotira, jvm

Interaktiv ko'rinish (viktorina, izohlar, tarix)