Məzmuna keçin
  • Kateqoriyalar
  • Ən yeni
  • Teqlər
  • Populyar
Yığmaq
Brend loqosu
  1. Əsas səhifə
  2. Java
  3. Java-da Stack və Heap yaddaş

Java-da Stack və Heap yaddaş

Planlaşdırılıb Sabitlənib Kilidlənib Köçürülüb Java
stackheapjavamemory
1 Yazı 1 Yazarlar 29 Baxış
  • Ən köhnədən yeniyə
  • Ən yenidən köhnəyə
  • Ən çox səs
Cavab ver
  • Mövzu olaraq cavablandır
🔑 Daxil ol
Bu mövzu silindi. Yalnız mövzu idarəçiliyi imtiyazlarına malik olan istifadəçilər onu görə bilər.
  • E Oflayn
    E Oflayn
    Elvin Hüseynov
    2025 M03 24 04:44 üzərində yazmışdı sonuncu dəfə tərəfindən redaktə edilib
    #1

    Java proqramlarında yaddaş idarəetməsi iki əsas sahədə həyata keçirilir: Stack və Heap. Hər iki sahə yaddaşın müxtəlif məqsədlər üçün istifadəsini təmin edir və fərqli xüsusiyyətlərə malikdir.

    Stack Yaddaşı:

    • Məqsədi: Metod çağırışları, lokal dəyişənlər və metodlara aid məlumatların saxlanması üçün istifadə olunur.
    • Xüsusiyyətləri:
      • Struktur: LIFO (Last-In-First-Out) prinsipi ilə işləyir, yəni son daxil olan ilk çıxır.
      • Yaddaşın İdarə Edilməsi: Yaddaş avtomatik olaraq idarə olunur; metod tamamlandıqda, ona aid yaddaş avtomatik sərbəst buraxılır.
      • Sürət: Stack yaddaşına giriş sürətlidir və kiçik ölçülü olduğundan cache üçün uyğundur.
      • Məhdudiyyətlər: Yaddaş həcmi məhduddur və böyük məlumatların saxlanması üçün uyğun deyil. Stack yaddaşının dolması Stack Overflow xətasına səbəb ola bilər.

    Heap Yaddaşı:

    • Məqsədi: Dinamik olaraq yaradılan obyektlərin və classların saxlanması üçün istifadə olunur.
    • Xüsusiyyətləri:
      • Struktur: Təsadüfi şəkildə təşkil olunmuşdur və obyektlər yaddaşın müxtəlif yerlərində yerləşə bilər.
      • Yaddaşın İdarə Edilməsi: Yaddaşın idarə edilməsi Garbage Collector tərəfindən həyata keçirilir; istifadə olunmayan obyektlər avtomatik olaraq sərbəst buraxılır.
      • Sürət: Heap yaddaşına giriş nisbətən yavaşdır və fragmentasiya problemi yarana bilər.
      • Məhdudiyyətlər: Yaddaşın əl ilə idarə edilməsi çətindir və yaddaş sızmalarına səbəb ola bilər.

    Java-da Stack və Heap yaddaşının istifadəsinə misal:

    public class YaddasTest {
        public static void main(String[] args) {
            int a = 10; // Stack yaddaşında saxlanılır
            YaddasTest nesne = new YaddasTest(); // Heap yaddaşında saxlanılır
            nesne.metod();
        }
    
        public void metod() {
            int b = 20; // Stack yaddaşında saxlanılır
            // Əlavə əməliyyatlar
        }
    }
    

    Yuxarıdakı nümunədə:

    • int a = 10; ifadəsi ilə yaradılan a dəyişəni Stack yaddaşında saxlanılır.
    • YaddasTest nesne = new YaddasTest(); ifadəsi ilə yaradılan nesne obyekti Heap yaddaşında saxlanılır.
    • metod() daxilindəki b dəyişəni də Stack yaddaşında saxlanılır.

    Stack və Heap yaddaşının müqayisəsi:

    • Yaddaşın ölçüsü: Stack yaddaşı məhduddur və kiçik ölçülüdür, Heap yaddaşı isə daha böyükdür.
    • Yaddaşın idarə edilməsi: Stack yaddaşı avtomatik idarə olunur, Heap yaddaşı isə Garbage Collector tərəfindən idarə edilir.
    • Performans: Stack yaddaşına giriş daha sürətlidir, Heap yaddaşına giriş isə nisbətən yavaşdır.
    • Fragmentasiya: Heap yaddaşında fragmentasiya problemi yarana bilər, Stack yaddaşında isə bu problem yoxdur.

    Bu fərqlər nəzərə alınaraq, Java proqramlarında yaddaşın effektiv idarə edilməsi mümkündür.

    1 cavab Son cavab
    Cavab ver
    • Mövzu olaraq cavablandır
    🔑 Daxil ol
    • Ən köhnədən yeniyə
    • Ən yenidən köhnəyə
    • Ən çox səs

    1/1

    2025 M03 24 04:44




    Bilik paylaşdıqca artan bir sərvətdir
    • Daxil ol

    • Sizin hesabınız yoxdur? Qeydiyyatdan keç

    • Axtarış etmək üçün daxil olun və ya qeydiyyatdan keçin.
    1 / 1
    • İlk yazı
      1/1
      Son yazı
    0
    • Kateqoriyalar
    • Ən yeni
    • Teqlər
    • Populyar