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,你也可以提供代码,说不定后续版本会采用。