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
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,你也能夠提供代碼,說不定後續版本會採用。