Java derleyicisi ( javac
), sanal makine (JVM) ve java
starter hangi dillerde yazılmıştır?
Java derleyicisi ( javac
), sanal makine (JVM) ve java
starter hangi dillerde yazılmıştır?
Yanıtlar:
Sorunun kesin ifadesi biraz yanıltıcıdır: "JVM" veya "derleyici" değildir , çünkü birden fazla JVM satıcısı (jrockit bir, IBM diğeri) ve birden fazla derleyici vardır.
Güneş JVM olduğu yazılmış C
öyle makinenizde çalışan olarak JVM a - bu şart olmasa da, platforma bağımlı yürütülebilir ve bu nedenle olabilir başlangıçta herhangi bir dilde yazılmıştır. Örneğin, orijinal IBM JVM Smalltalk ile yazılmıştır
Java kitaplıklarının ( java.lang
, java.util
genellikle Java API olarak adlandırılan vb. ) Kendileri Java'da yazılır, ancak olarak işaretlenmiş yöntemler veya native
olarak yazılır .C
C++
Sun'ın sağladığı Java derleyicisinin de Java ile yazılmış olduğuna inanıyorum. (Yine de, orada birden fazla derleyici var)
İlk Java derleyicisi Sun Microsystems tarafından geliştirildi ve C ++ 'dan bazı kütüphaneler kullanılarak C dilinde yazıldı. Bugün Java derleyicisi Java ile, JRE ise C ile yazılmıştır.
Java derleyicisinin Java'da nasıl yazıldığını tahmin edebiliriz:
Java derleyicisi bir Java programı olarak yazılır ve sonra C (ilk Java derleyicisi) ile yazılmış Java derleyicisi ile derlenir. Böylece Java programlarını derlemek için yeni derlenmiş Java derleyicisini (Java ile yazılmış) kullanabiliriz.
Gönderen Java Dokümanlar
Derleyici Java ile yazılmış ve çalışma zamanı ANSI C ile yazılmıştır.
Aslında Oracle JVM, C değil C ++ ile yazılmıştır.
HotSpot JVM koduna bir göz atın: http://openjdk.java.net/groups/hotspot/
Bu bağlantı sorunuzu cevaplamalıdır
Derleyici şimdi Java ile yazılmış gibi görünüyor, ancak çalışma zamanı ANSI C ile yazılmış
Jikes RVM , araştırma amacıyla yaygın olarak kullanılan, kendini barındıran bir JVM, Java ile yazılmıştır. İnsanların masaüstlerinde koştuğu tek kişi değil, ancak "şimdi dilin genel gücünü gösterelim" listemde yukarıda.
Sun tarafından sağlanan Hotspot JVM'den bahsettiğinizi varsayarsak, C ++ ile yazılmıştır. Java için çeşitli sanal makineler hakkında daha fazla bilgi için bu bağlantıyı kontrol edebilirsiniz . Java derleyicilerinin çoğu gibi javac da Java ile yazılmıştır.
(Daha Fazla Bilgi İçin Bu bağlantıyı kontrol edebilirsiniz: https://docs.oracle.com/javase/specs/jvms/se7/html/ )