JAVA和C++的运行机制
JAVA和C++的运行机制
JAVA运行机制:
一个JAVA文件,首先会由JAVA编译器(JAVAC)编译成class(字节码文件)文件,然后由Java虚拟机(JVM)去解释,那么不同的操作系统只要装有适合不同平台的JDK,JAVA文件都可以被解释运行,那么JAVA就是一种编译和解释型语言。
字节码文件(class)之所以能够被JAVA虚拟机(JVM)所解释,最主要的原因就是字节码文件(class)里面所包含的内容是可以被JAVA虚拟机(JVM)所解释的一种高度优化指令。
JAVA文件只需要编译一次就可以在不同的操作系统上解释运行,也就是说一次编译处处运行,这就是JAVA可以跨平台的原因。
C++运行机制:
C++没有虚拟机这种概念,也就是说C++一旦编译就可以运行,是一种编译型语言,速度上比JAVA快得多,C++编译完成后是机器码(二进制文件)可以直接在操作系统上运行。
C++优点:(运行速度)
1•C++速度快于JAVA,毋庸置疑,因为C++编译后成为机器码可以直接运行,但是JAVA编译完后需要JVM解释。
JAVA优点:(编译效率)
2•C++编译后的机器码并不是每个操作系统通用的,如果换到其他操作系统上就需要再次编译,所以这个时候JAVA JVM的优势就体现出来了,JAVA的字节码文件一次编译处处运行,换个操作系统仍然无需再次编译。
总结:
3•C++在保持快速运行时舍弃了编译效率,JAVA JVM虽然在速度上慢于C++,但是编译效率上优于C++,所以任何一种语言都有优势和劣势。没有绝对的胜者。
LZ,科普知识啊?呵呵。
啥意思?
C++快过Java,也不一定。
楼上的同学难道不清楚C++编译速度,C++写出来的后台服务器强调的就是速度,JAVA速度达不到那么快,因为有JVM的关系,JVM需要去解释,然后是运行,所
相关问答:
当知道一个日期,如何把这个日期所在旬的前后两个日期取出
比如输入20090905,就输入20090901 20090910
输出20090901 20090910
取得天数后作一下判断再把这个方法用下void set(int field, int value)
......
如题,C/C++中的execl怎么调用写好的java程序,
execl("/opt/java1.5/bin/java","MyClass",NULL);
这样的不行哦。
不会.
运行java程序
找工具查看一下那个程序的命令行
搜索下:jni ......
怎么在控制台中输入类似下面的信息:
s1234 50
s1235 80
s1234 90
s1234 40
s1236 90
每当回车时 ......
我JSP的页面是:
<%@ page language="java" contentType="text/html; charset=gb2312"
%>
<script>
function Save(){
xmlHttp=GetXmlHttpObject()
if(xmlHttp==nul ......
代码如下 ,我想通过代理访问一些网址,但是不知道如何测试代理成功,我想通过访问“http://www.blogger.com/”来看看是否代理成功,但是也不能访问,出现异常“Unexpected end of file from server”,但是如果不这 ......