JDK Mission Control ile Analiz
JFR kayıtlarını okuyun
JDK Mission Control ile Analiz, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 4 dersten oluşur.
JMC Nedir
JDK Görev Denetimi (JMC), JFR kayıtlarını analiz etmeye yarayan grafik aracı'dır.
Bir .jfr dosyasını açar ve ham olayları gezinilebilir görünümlere dönüştürür: sıcak yöntemler, çöp toplama davranışı, kilit çekişmesi, bellek ayırma ve daha fazlası. Ayrıca olası sorunları işaretleyen bir Otomatik Analiz sayfası içerir.
JMC'yi Edinme
JMC bağımsız olarak indirilebilir (JDK 8'den sonra JDK paketinden ayrılmıştır).
Adoptium veya Oracle JMC derlemelerinden indirin, çalıştırın ve .jfr dosyanızı Dosya > Dosya Aç seçeneğiyle açın. Herhangi bir aracıya veya uygulamanızı yeniden başlatmaya gerek yoktur — daha önce yakalanmış kaydı analiz edersiniz.
Otomatik Analiz Sayfası
JMC'nin gösterdiği ilk şey, kaydınızı puanlayan bir dizi sezgisel kuraldan oluşan Otomatik Analiz sayfasıdır.
Uzun çöp toplama duraklamaları, yüksek bellek ayırma hızı, engellenmiş iş parçacıkları ve ilkel türlerin nesnelere paketlenmesi gibi durumları öne çıkarır. Her bulgunun bir önem derecesi ve kısa bir açıklaması vardır; elle ayrıntılı incelemeye başlamadan önce harika bir çıkış noktasıdır.
Yöntem Profilleme Görünümü
Yöntem Profilleme sayfası, yürütme örneklerini bir çağrı ağacında toplar.
En yüksek kendi süresine sahip yöntemler CPU sıcak noktalarınızdır. Hem neyin yavaş olduğunu hem de onu kimin çağırdığını anlamak için yukarıdan aşağıya (çağırandan çağrılana) ve aşağıdan yukarıya (önce sıcak yöntem) görünümleri arasında geçiş yapabilirsiniz.
Alev Grafikleri
JMC, çağrı yığını örneklerini bir alev grafiği olarak oluşturur: genişlik, harcanan zamanla orantılıdır.
Grafiğin üst kısmına yakın geniş yatay düzlükler, CPU'nun çevrimlerini gerçekten harcadığı yerleri gösterir. Bu görsel, hangi çağrı yolunun baskın olduğunu sıralanmış bir tabloyu okumaktan çok daha hızlı ve açık biçimde gösterir.
Çöp Toplama Görünümü
Çöp toplama sayfaları duraklama sürelerini, sıklığı ve hangi toplayıcının çalıştığını gösterir.
Gecikmeye zarar veren uzun veya sık duraklamaları arayın. Yüksek bellek ayırma hızı genellikle genç nesil çöp toplamalarının sık olmasıyla ilişkilidir; çözüm toplayıcıyı değiştirmek değil, gereksiz nesne oluşturma trafiğini azaltmaktır.
Bellek Ayırma Sıcak Noktaları
JMC'nin TLAB Bellek Ayırmaları görünümü, nesnelerin nerede oluşturulduğunu sıralar.
Bunu çağrı yığını izlemesiyle birlikte kullanarak sıcak bir döngüde bellek ayıran tam satırı bulun. Genellikle arabelleği yeniden kullanmak veya otomatik paketlemeden kaçınmak gibi küçük bir değişiklik, çöp toplama baskısını büyük ölçüde azaltır.
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
// Autoboxing: each add boxes an int into an Integer object
List<Integer> boxed = new ArrayList<>();
for (int i = 0; i < 5; i++) boxed.add(i);
System.out.println("Boxed " + boxed.size() + " Integers");
System.out.println("JMC allocation view would flag this hotspot");
}
}Kilit Çekişmesi
Kilit Örnekleri ve Java İzleyicisi görünümleri, eşzamanlamayı bekleyen iş parçacıklarını ortaya çıkarır.
Birçok iş parçacığı aynı izleyicide engelleniyorsa bu kilit, ölçeklenebilirlik açısından bir darboğazdır. JMC, çekişmeye neden olan nesneyi ve bekleyen çağrı yığını izlemelerini gösterir; böylece doğru kritik bölümü hedefleyebilirsiniz.
İş Parçacığı ve Gecikme Görünümleri
İş Parçacıkları sayfası her iş parçacığının zaman çizelgesini gösterir: CPU üzerinde, bekletiliyor, IO bekliyor veya engellenmiş.
Yavaşlamanın CPU-bağımlı mı yoksa IO-bağımlı mı olduğunu, yani darboğaz dersindeki ayrımı, böyle doğrularsınız. Geniş 'bekliyor' bantları, hesaplama-bağımlı değil, IO'ya veya kilide bağımlı olduğunuzu gösterir.
Bulgudan Çözüme
İş akışı şöyledir: kaydı açın, Otomatik Analiz'i okuyun, işaretlenen alanı (yöntem profilleme, çöp toplama veya kilitler) ayrıntılı inceleyin, alev grafiği ve iş parçacığı görünümüyle doğrulayın, ardından bir varsayım oluşturun.
Tek bir şeyi değiştirin, yeniden kayıt alın ve başlangıç ölçümünüzle karşılaştırın. JMC, ikili bir dosyayı eyleme dönüştürülebilir bilgiye çevirir.
Kayıtları Karşılaştırma
Bir iyileştirmenin işe yaradığını kanıtlamak için 'önce' ve 'sonra' kayıtlarını karşılaştırın.
Bir başlangıç JFR'si kaydedin, tek bir değişiklik uygulayın, başka bir kayıt alın ve ikisini JMC'de açın. Aynı görünümlere — yöntem profilleme, çöp toplama ve bellek ayırma — yan yana bakın. Gerçek bir iyileşme, kendi süresinin azalması, çöp toplama duraklamalarının seyrekleşmesi veya bellek ayırma hızının düşmesi olarak görünür. Hiçbir değer değişmediyse değişikliği geri alın.
Hızlı Kontrol
JMC'nin yöntem profilleme ve alev grafiği görünümlerinde, bir yöntemin kendi süresi (veya üstteki geniş bir yatay düzlük) neyi gösterir?
Özet
JMC, JFR kayıtlarını okuyup onları eyleme dönüştürülebilir hale getirir:
- Otomatik Analiz, olası sorunları baştan işaretler.
- Yöntem profilleme ve alev grafikleri, kendi süresi aracılığıyla CPU sıcak noktalarını ortaya çıkarır.
- Çöp toplama ve bellek ayırma görünümleri bellek kullanımındaki gereksiz hareketliliği ortaya çıkarır.
- Kilit ve iş parçacığı görünümleri, CPU-bağımlı durumu IO'ya veya kilide bağımlı durumdan ayırır.
- Ayrıntıya inin, varsayım kurun, tek bir şeyi düzeltin, yeniden kayıt alın ve karşılaştırın.
Yapay zeka eğitmeniyle Java öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 104
- Dersler
- 374
Sıkça Sorulan Sorular
“JDK Mission Control ile Analiz” dersi ücretsiz mi?
Evet — “JDK Mission Control ile Analiz” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 4 dersten oluşur.
“JDK Mission Control ile Analiz” dersinde ne öğreneceğim?
JFR kayıtlarını okuyun Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“JDK Mission Control ile Analiz” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Darboğazları Belirleme
- Java Flight Recorder
- JDK Mission Control ile Analiz
- Yaygın JVM Ayarlama Bayrakları