首页 > 代码库 > 【Java】C/C++与Java的简单比较
【Java】C/C++与Java的简单比较
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827273.html
C/C++:
编译(不同的系统编译出不同的机器码,所以同一个C/C++文件不一定可以在某些系统执行,因为编译出的机器码不同)
代码————机器码————在操作系统中由硬盘读取到内存中运行——内存——CPU——输出结果
Java:
编译 字节码在虚拟机上运行,虚拟机相当于翻译官,不同的系统JVM不同,转换规则不同,把同一个字节码文件转换为相应的系统的机器码
代码————字节码文件(.class)————JVM————机器码在相应系统运行——内存——CPU——结果
由于JVM的存在,只需在不同的系统上安装相应的JVM,同一个.class文件在相应的系统的JVM运行就会输出相应系统能解析的机器码,从而成功运行。
这就是,一次编译,到处运行。
打个比方,就是:
一本汉字写的书(源码),去到不同的国家(系统),每个国家有相应的翻译官(JVM虚拟机)把汉字翻译成其所在国家的文字(比如这本书传到英国被翻译成英文书),之后就可以在这个国家流传开了(相当于程序成功运行)。
另外,补充一点:
JAVA有两特性:
移植性:一次编译,到处运行(上面已解释)
安全性:自动回收内存中不常用的命令垃圾,防止内存溢出。
【Java】C/C++与Java的简单比较
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。