Bildiğimiz gibi Java ile yazılmış programlar birçok platformda çalışabilmektedir. Örneğin bir sözlük programı yazdıysak kodlara müdahale etmeden aynı programı Linux, Windows, Mac ve Java destekli diğer herhangi bir işletim sisteminde aynı anda çalıştırabiliyoruz. Bunu yapabilmemizin arkasındaki güç ise JVM’dir. JVM Java’da yazılmış ve bytecode olarak derlenmiş programları işletim sistemlerine bakmaksızın kapalı bir kutu içerisindeymiş gibi çalıştırıyor ve her ortamda aynı sonucu vermeye çalışıyor. Böylelikle işletim sisteminde doğrudan bağımlı bir kod yazılmadığı sürece JVM sayesinde her ortamda aynı sonucu görmüş oluyoruz.
Bazen programlar yazılırken işletim sisteminde bağımlı kodlar yazılabiliyor. Örneğin ip değiştirme programı yazıldığını ve bunun için işletim sisteminden destek alındığını varsayalım. Bu durumda Windows içinde program açılırsa ipconfig
, Linux içinde açılırsa ifconfig
komutunun çalıştırılması ve sonucunun alınması gerekiyor. Böyle bir durumda program kendi zekasıyla hangi işletim sisteminde olduğunu anlayıp ona göre davranamayacağı için açıldığı işletim sistemine göre önce hangi sistem olduğunu anlayıp ona göre komut çalıştırılması gerektiği söylenmeli. Eğer bu yapılmazsa platformdan bağımsız çalıştığı halde yazılımcının mantık hatası sebebiyle hata verir ve program çalışmayabilir.
Bunun gibi mantıksal bağımlılıkları ve donanımsal özel bağımlılıkları göz ardı edecek olursak özetle JVM’in sanal bir kutu oluşturarak programlarımızı o kutu içinde dış dünyadan bağımsız çalıştırmaya çalıştığını söyleyebiliriz.
Faydalı olması dileğiyle..
İlk Yorumu Siz Yapın