CodeBlanks Logo Icon CodeBlanks

Çalışma zamanı veri alanları

Stack, heap ve metaspace'i öğrenirsin.

Çalışma zamanı veri alanları

JVM, çalışma zamanında veriyi ayrı veri alanlarında tutar. Başlıca alanlar: heap (nesneler), stack (yöntem çerçeveleri), Metaspace (sınıf metaverisi) ve program sayacı (PC register).

Heap tüm sınıf örneklerini ve dizileri tutar; paylaşılır ve GC tarafından yönetilir. Stack her parçacık için ayrıdır; her metot çağrısı bir çerçeve (frame) ekler. Çerçeve yerel değişkenleri ve işlenen yığını tutar.

Metaspace sınıf ve metot metaverisini tutar. PC register, parçacığın hangi talimatı çalıştırdığını izler.

Stack çerçevesi

Her metot çağrısında stack'e bir çerçeve (frame) eklenir. Çerçeve üç bileşen içerir: yerel değişkenler (local variables), işlenen yığını (operand stack) ve metot çıkış bölümü.

Metot dönünce çerçeve stack'ten çıkarılır. Stack her parçacık için ayrıdır; bu yüzden iki parçacığın yerel değişkenleri karışmaz. Stack overflow, derin oz yinelemede (recursion) oluşur.

Uygulama Thread adını yazdır

Bir Main sınıfı tanımla. main yönteminde Thread.currentThread().getName() değerini System.out.println ile yazdır. (Ana parçacığın adı 'main'dir.)

Başlangıç kodu

Main.java
public class Main {
    public static void main(String[] args) {
        // Su anki parçacığın adini yazdır
    }
}

Örnek çözüm

Main.java
public class Main {
    public static void main(String[] args) {
        System.out.println(Thread.currentThread().getName());
    }
}

Beklenen çıktı

main

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Thread adını tamamla

Soru
Thread t = Thread.____();
System.out.println(t.getName());
Cevap
Thread t = Thread.currentThread();
System.out.println(t.getName());

Açıklama: currentThread() şu anki parçacığı döndürür.

2 Heap ne tür veri tutar?

  • Yerel değişkenler
  • Sınıf örnekleri ve diziler Doğru cevap
  • Talimatlar
  • Parçacık durumları

Açıklama: Heap tüm nesneleri ve dizileri tutar; GC tarafından yönetilir.

3 Veri alanlarını eşleştir

Kavram Anlamı
Heap Nesneler ve diziler
Stack Metot çerçeveleri
Metaspace Sınıf metaverisi
PC register Şu anki talimat

Uzman bölümündeki tüm dersler