JIT ayarı
- Java kursu
- Uzman
- Ders 35/46
- 5 dk
JIT bayrakları ve tiered compilation ayarını öğrenirsin.
JIT derlemesi
JIT (Just-In-Time) derleyici, sık çağrılan sıcak metotları makine koduna çevirir. HotSpot iki derleyici kullanır: C1 hızlı derler (az en iyileme), C2 agresif en iyileme yapar. Kademeli derleme (-XX:+TieredCompilation) önce C1, sonra C2 kullanır.
Derleme eşiği -XX:CompileThreshold ile ayarlanır; bir metot bu kadar çağrılınca derlenir. -XX:+PrintCompilation nelerin derlendiğini gösterir.
JIT ayarlama
JIT ayarlaması genelde gerekmez; öntanımlı kademeli derleme çoğu iş yükünde iyidir. Yine de -XX:+PrintCompilation ile nelerin derlendiği, -XX:+UnlockDiagnosticVMOptions ile ayrıntılı bayraklar görülebilir.
Erken ayarlama kaçınılmalı; önce JFR ve JMH ile darboğaz bulunur. C2'nin agresif en iyilemesi bazen tuhaf hızlanmalar sağlar; bu yüzden mikro kıyaslama JMH ile yapılır.
Uygulama JitConfig sınıfını yaz
class JitConfig tanımla; static String describe(int threshold) metodu "CompileThreshold=" + threshold + " Tiered=true" döndürsün. main içinde System.out.println(describe(10000)); yazdır.
Başlangıç kodu
// JitConfig sınıfını tanımla: describe metodu JIT ayar dizisi üretsin
// main: 10000 eşiği için ayarı yazdırÖrnek çözüm
class JitConfig {
static String describe(int threshold) {
return "CompileThreshold=" + threshold + " Tiered=true";
}
public static void main(String[] args) {
System.out.println(describe(10000));
}
}Beklenen çıktı
CompileThreshold=10000 Tiered=true
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 kademeli derleme bayrağını tamamla
-XX:+____ -XX:CompileThreshold=10000
-XX:+TieredCompilation -XX:CompileThreshold=10000
Açıklama: -XX:+TieredCompilation C1 ve C2'yi birlikte kullanır.
2 JIT kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
C1 |
Hızlı derleyici |
C2 |
En iyileyici derleyici |
CompileThreshold |
Derleme eşiği |
TieredCompilation |
Kademeli derleme |
3 JIT ne yapar?
- Kaynak kodu derler
- Thread oluşturur
- Çöp toplar
- Sıcak metotları makine koduna çevirir Doğru cevap
Açıklama: JIT sık çağrılan metotları makine koduna derler.