码迷,mamicode.com
首页 > 编程语言 > 详细

Java与C++程序在编译和运行上的区别

时间:2016-10-30 23:54:01      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:tar   编译器   编译   net   系统   base   高级语言   优缺点   unix   

Java、C++都属于高级语言,而计算机能认识执行的只是机器码(即二进制),所以高级语言都必须经过直接或间接的转换成汇编以后,才能运行:

 

对于C/C++这类高级计算机语言,它们的编译器(例如Unix下的CC命令、Windows下的CL命令)都是可以把源码直接编译成计算机可以认识的机器码,如exe、dll之类的文件,然后直接运行

 

而Java语言的跨平台性是它最大的特点之一,这就达成了Java程序平台无头性,因此也有一定的牺牲就是多了一个中间过程,先将Java源程序编译成class文件【字节码形式】存储,然后由JVM(Java虚拟机--屏蔽了操作系统层面,直接自己提供虚拟的硬件)加载,然后在执行时再把字节码解释成具体平台上的机器指令

 

两者各有优缺点,因此通常我们说C/C++语言效率较高,而Java语言平台无关性

Java与C++程序在编译和运行上的区别

标签:tar   编译器   编译   net   系统   base   高级语言   优缺点   unix   

原文地址:http://www.cnblogs.com/ZJOE80/p/6014186.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!