您当前的位置:首页 > 计算机 > 编程开发 > 编程箴言

聊一聊Java和C++有什么异同

时间:07-04来源:作者:点击数:

废话不多说,直接开搞。

1)Java是解释性语言,java源文件经过Java编译器编译(前编译)之后变成字节码文件,再由JVM编译(后编译)、解释、运行。C++是编译型语言,C++源代码通过编译和链接直接生成可由操作系统运行的二进制文件。因此,Java因为运行在JVM上而不是直接运行在操作系统之上,运行效率会比C++慢,但是Java编写的程序也因此拥有了平台无关性。

2)Java是纯面向对象的语言,所有的代码都是在类中实现,而且除了基本数据类型以外,其他的数据类型都是引用数据类型。C++是面向对象,同时兼有面向过程的语言,因此可以向C语言一样,定义全局变量和全局函数(在类之外)。

3)Java中没有指针的概念(而C++中有),去除指针这一概念,是为了防止指针操作不当而引起的系统问题,让程序变得更加安全。

4)Java中没有预处理,C++中有预处理,但是Java中引入了import机制来达到预处理类似的效果。

5)Java中没有goto语句(但是保留了goto这个关键字),C++中有goto语句。

6)Java不支持自动强制类型转换,必须由开发人员显示地进行类型强转;C++支持自动强制类型转换,这会导致程序的不安全。

7)Java具有平台无关性(也可以称为移植性),每种数据类型都分配固定的长度;C++在不同的操作系统上,其数据类型会分配不同的长度。

8)Java不支持运算符重载,C++支持。

9)Java不需要开发人员管理内存(内存的申请和释放),因为Java具有垃圾回收器,能实时监控和管理内存;C++需要开发人员去干涉内存。

10)Java提供的类库大多数是标准库,用来完成特定的任务,简化开发,比如JDBC库,Servlet库等;C++则是一些field标准的、由其他产商提供的库。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门