Java nasıl çalışır
Konu seç, kod yaz ve içeride ne olduğunu adım adım gör.
Memory
JVM: Stack ve Heap
Primitive'ler, object'ler, String Pool, frame'ler ve GC. Kodunun memory'de nereye düştüğünü satır satır izle.
Garbage Collection
Object ne zaman silinir? GC root'ları, mark-sweep, Eden, Survivor, Old ve memory leak.
String içeriden
String'in iç yapısı: byte[], LATIN1 ve UTF16, emoji uzunluğu, paylaşılan array ve += bedeli.
Object bellekte
Bir object kaç byte tutar: header, mark word, padding, field sırası, array’ler ve 32 GB sınırı.
Collection'lar
Concurrency
Thread'ler
İki thread'i kendin yönet. Race condition, synchronized, volatile, CAS ve deadlock.
ConcurrentHashMap nasıl çalışır
Birden fazla thread için HashMap. Boş bucket'ta CAS, dolu bucket'ta lock, resize ve null yasağı.
Virtual Thread'ler
Bir milyon thread nasıl mümkün olur: carrier, mount ve unmount, pinning ve virtual thread'in yardım etmediği durumlar.
Dil ve JVM
Bytecode
javac ne yazar? Operand stack, local variable'lar, i = i++ tuzağı ve finally'nin gerçek hali.
Class loading
Class ne zaman yüklenir? Delegation, üç aşama, static ve constructor sırası, klasik tuzaklar.
Stream nasıl çalışır
Stream lazy'dir. Element'ler tek tek geçer, sorted hepsini tutar, count bazen hiçbir şey çalıştırmaz.