Java® programlama dili, Java® sanal makine (JVM) adı verilen özel bir yönetim yazılımı kullanır. Bu JVM, herhangi bir Java® yazılım programının bir bilgisayarda düzgün çalışması için gereklidir. JVM, bir yazılım programından gelen istekleri yorumlar ve bunları bilgisayar donanımı tarafından anlaşılan makine diline dönüştürür. JVM donanım platformunda agnostik olup birçok bilgisayar işletim sistemi için uygundur.
Günümüzde çoğu programlama dili donanım platformuna özeldir. Bu programlar özel olarak bilinir çünkü yalnızca belirli işletim sistemlerinde çalışabilirler. Java® sanal makinesi, Java® program platformunu bağımsız kılan özel bir unsurdur. Bu JVM, bilgisayar donanımı ile Java® programlama kodu arasındaki iletişimi yöneten otomatik bir irtibat sürecidir.
Bir bilgisayar kullanıcısı bilgisayarı açtığında, bilgisayar donanımı ve yazılımı işletim sistemi (OS) ile etkileşime giriyor. Bilgisayar işletim sistemi, bilgisayarın faresinden ve klavyesinden eylemleri yakalayan birincil cihazdır. Bu olaylar işletim sisteminden programa özel OS kodu kullanılarak iletilir. Java® sanal makinesi, işletim sistemi olaylarını yakalayan ve bunları Java® tarafından anlaşılabilir mesajlara dönüştüren bir Java® işlemidir.
Java® sanal makinesi kullanmanın çeşitli avantajları vardır. Her işletim sisteminin teknik nüansları geliştiriciden gizlenir. Bu, program için daha fazla çok yönlülük sağlar, çünkü birden fazla bilgisayar donanım platformuyla çalışabilir. JVM ayrıca, organizasyon içinde birden fazla işletim sistemi platformu kullanmanın esnekliğine de izin verir.
Günümüzde Windows®, MAC®, UNIX® ve Linux® dahil birçok işletim sistemi bulunmaktadır. Tek bir Java® yazılım programı, işletim sistemlerinin birden çok sürümünde çalışabilir. Bunun nedeni, Java® programlarının işletim sistemiyle etkileşime geçmek için JVM kullanmasıdır. Diğer yazılım kodu türleri, tipik olarak, her işletim sistemi için ayrı bir derleme kodu tabanı gerektirir.
Microsoft®.NET, her işletim sistemi için belirli bir derleme gerektiren bir yazılım dili örneğidir. Bu tür bir yazılımı bir UNIX® ortamına dağıtmak için, kodun yeniden derlenmesi gerekir. Bu, kullanılan her işletim sistemi için çoklu kod tabanlarının yönetimini gerektirir.
Bugün Java® sanal makine teknolojisi dünya çapında milyonlarca bilgisayara ve cihaza dağıtılmıştır. Bu JVM, Java® geliştirme yazılımı ortamında İnternetten ücretsiz olarak kullanılabilir. Java® yazılım kodu bir bilgisayara yüklendiğinde bu işlem otomatik olarak yüklenir.
Çoklu görev, birden fazla programın bir bilgisayarda paralel olarak çalışmasını sağlayan bir işlemdir. Java® sanal makinesi, çoklu görev yeteneklerini destekler. Bu teknik, bir JVM'nin aynı anda birden fazla uygulamayı desteklemesini sağlar. Çok işlemciliğe sahip olma özelliği, uygulamaların daha hızlı çalışmasını sağlayan değerli bilgisayar işlem kaynaklarını kurtarır.


