JAVA中就虛擬機是其它語言開發的,用的是C語言 彙編語言,基於此之上就是JAVA本身了,虛擬機只起到解析作用。
另外,JAVA並不比C語言慢,說JAVA慢通常是九十年代那時候的JAVA, 而現在 在一段優秀的JAVA程序和C程式執行效率上來比較是沒有多大差距的並且現在JAVA已經可以像C語言那樣,直接編譯為可執行檔(不用虛擬機,跨平台為代價)了
不知道你看過 卓越編程之道二(運用底層思維編寫高級程式碼) 沒有,那裡面詳細的講述了高級語言從編寫到編譯執行的過程,透過目標文件的反彙編對比,發現C,C ,JAVA,dephi等語言在同等質量下的目標檔案長度基本上沒多大差別,一門語言的運作速度快慢,與你寫程式碼過程中是否符合編譯器規則息息相關。 有空你可以去看看這本書。
Java底層實作是用C語言寫的,因為做了很多封裝,所以比C語言速度慢?
JVM是c寫的,所以對JVM常用的攻擊就是buffer overflow。
c語言寫的, java6.0都已經開源了。
在windows平台的JVM實作是用VC寫的,你下載的JDK其實都有一個src.zip,就是Java的原始碼 。
原始是用C寫的,如javac指令等,後面的功能是java自身寫的,如api,現在大多都開源了,有興趣可以看看那個項目,叫openjdk,你也可以提供代碼,說不定後續版本會採用。
以上是java虛擬機器用什麼寫的的詳細內容。更多資訊請關注PHP中文網其他相關文章!