JVM Nedir? Java Sanal Makinesi Açıklaması

JVM, Java bytecode'unu herhangi bir işletim sisteminde çalıştırır. Minecraft Java Edition ve her Fabric modunun Windows, macOS ve Linux'ta aynı şekilde çalışmasının nedeni budur.

Conceptsby trqUpdated June 4, 2026
Key takeaways
  • JVM (Java Sanal Makinesi), derlenmiş Java bytecode'unu çalıştıran programdır.
  • Aynı bytecode Windows, macOS ve Linux üzerinde çalışır, bu nedenle modların yeniden derlenmesine gerek yoktur.
  • Oyunculara bir Java çalışma zamanı (JRE) gerekir; mod yapımcılarına ise derleyiciyle birlikte tam JDK gerekir.
  • Minecraft Java Sürümü ve her Fabric modu, Opal dahil olmak üzere, JVM üzerinde çalışır.

JVM, yani Java Sanal Makinesi, Java kodunu çalıştıran programdır. Siz Java ile kod yazarsınız, bir derleyici bunu bytecode'a dönüştürür ve JVM, bu bytecode'ı herhangi bir işletim sisteminde çalıştırır. Bu nedenle Minecraft Java Sürümü ve onun için oluşturulan modlar, yeniden derlenmeden Windows, macOS ve Linux'ta aynı şekilde davranır.

Opal Nerede Çalışır

Opal, bir Fabric mod'udur, bu yüzden oyunla aynı JVM üzerinde çalışır. Kurulumunu yapıyorsanız, kurulum rehberi size yol gösterecektir.

JVM Aslında Ne Yapar

JVM, kaynak kodu değil, bytecode'u çalıştırır. Bir Java programını derlediğinizde, Windows veya Mac için bir yürütülebilir dosya elde etmezsiniz. Bunun yerine, JVM'nin anladığı kompakt bir komut seti olan bytecode ile dolu sınıf dosyaları elde edersiniz. JVM, bu komutları okur ve makinenizde yürütür.

Ek katman tam olarak budur. Aynı bytecode, bir JVM var olduğu her yerde çalışır, bu nedenle "bir kez yaz, her yerde çalıştır" Java'nın yaygınlaşmasının kısa versiyonudur. JVM, bu vaadi gerçeğe dönüştüren parçadır.

JVM, JRE ve JDK

Bu üç terim sık sık karıştırılır, bu yüzden bir ayrım yapalım.

TerimNedirNe zaman gerekir
JVMBytecode'u çalıştıran motorHer zaman, herhangi bir Java programını çalıştırmak için
JREJVM artı standart kütüphanelerJava programlarını çalıştırmak için
JDKJRE artı derleyici ve geliştirme araçlarıJava programları oluşturmak için

Bir oyuncu, oyunu başlatmak için yalnızca bir çalışma zamanına ihtiyaç duyar. Bir mod oluşturmak için geliştirme yapan bir geliştirici, Java'yı ilk etapta bytecode'a derleyebilmesi için tam JDK'ye ihtiyaç duyar.

JVM Kodunuzu Nasıl Hızlı Çalıştırır

JVM, bytecode'u birer birer yorumlayarak başlar. Çalışırken, hangi yöntemlerin en çok çağrıldığını izler. Bu "sıcak" yollar, bunları anında yerel makine koduna dönüştüren JIT derleyicisine verilir. Isınma aşamasından sonra, en yoğun kod yerel hıza yakın bir hızda çalışır.

JVM, hafızayı da sizin için yönetir. Bir çöp toplayıcı, artık kullanmadığınız nesneleri geri kazanır, böylece C'de olduğu gibi elle hafıza boşaltmanız gerekmez. Java'nın yazımı kolay olmasının ve mod yapımcıları için yaygın ilk dil olmasının başlıca nedenlerinden biridir.

Minecraft için neden önemli?

Minecraft Java Sürümü JVM üzerinde çalışır ve ona hedefleyen her yardımcı istemci ve mod da öyle. Bir istemcinin kendi kodu Java, Kotlin veya başka bir JVM dili olabilir, çünkü hepsi JVM'nin çalıştırdığı aynı bytecode'a derlenir. Bir Fabric modu, bytecode'dan oluşan bir jar dosyası olarak gönderilir, yükleyici oyuna başlatmada bağlanır ve JVM her şeyi tek bir işlem olarak çalıştırır.

Bunun nedeni, başlatıcıların yığın boyutu ve kullanılacak Java sürümü gibi şeyleri ayarlamanıza izin vermesidir. Oyunu değil, oyunu barındıran JVM'yi yapılandırıyorsunuz.

SSS