JAVA里的jvm虚拟机用的是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的开源项目,你也可以提供代码,说不定后续版本会采用。
浏览量:
430
+1