Java和C++对比

白色玫瑰 程序猿

时间: 2023-05-22 阅读: 1 字数:2409

{}
首先java的语法是继承自C和C++的,但是java摒弃或者优化了很多C、C++上面对程序员造成困扰的地方,也就是说java设计者的初衷是想让程序员编程更轻松,更快捷高效,更少出错,当然,某种程度上这需要牺牲程序的效率。...

目录

首先java的语法是继承自C和C++的,但是java摒弃或者优化了很多C、C++上面对程序员造成困扰的地方,也就是说java设计者的初衷是想让程序员编程更轻松,更快捷高效,更少出错,当然,某种程度上这需要牺牲程序的效率。 (1)比如C、C++上面的指针,在java编程里面不复存在了,在java里面,指针已经被封装在底层虚拟机了,而java程序员因为不能够使用指针,也就避免了很多指针所带来的问题和困扰,比如空指针的问题,还有指针未删除所带来的内存泄露问题,等等。 (2)另外,相比C、C++的绝大对数东西都需要程序员自行去考虑,java则事先帮程序员考虑到了很多东西,例如数组越界的问题,内存泄露等问题在虚拟机都会进行检查进而提醒程序员避免犯错,也就是说同等编程水平的程序员在java中出错的概率比C++更低。从而说java编程是更安全了,它让程序员不必经常小心翼翼地担心出错,可以更专注于解决问题本身。 (3)另外,java对C++的很多特性进行了优化,例如在类的继承上,java放弃了经常令C++头痛并且其实也是很少用到的多重继承,当然java里面的jnterface接口是多个来进行使用的。并且在java是单根继承的,所有类都继承自Object这个类,这就带来了诸如参数传递、异常处理、代码复用等好处。

(4)另外,还有很重要的一点就是,java提供了强大的API库,特别是在网络编程、网站开发这块,java的API库还是相当强大,很方便程序员的

(5)Java为解释性语言,其运行过程为为:程程序源代码经过Jawa编译器编译成字节码,然后由JVM解释执行。而C/C++为编译型语言,源代码经过编译和链接后生成可执行的二进制代码。因此, Java的执行速度比C/C++慢,但是Java能够跨平台执行,而C/C++不能。

(6)Java为纯面向对象语言,所有代码(包括函数、变量等)必须在类中实现,除基本数据类型(包括int、float等)外,所有类型都是类。此外,Java语言中不存在全局变量或全局函数,而C++兼具面向过程和面向过程编程的特点,可以定义全局变量和全局函数。

(7)Java比C,C++简单,学起来比C\C++容易 (8)Java中有完善的内存管理机制,能自动垃圾回收,最大可能降低内存溢 出的可能,同时提高编程效率。 (9)Java中有完善的异常机制(标准C++中不够完善)。 (10)java中保持数据时对象本身是在堆里,同时靠一在栈里的句柄与之连接 。这个设计更合理。 由以上几点可见Java更安全。 (11) Java原生支持多线程(C++仅靠标准库办不到),原生的UI,如AWT Swing

劣势: 1.Java比C\C++慢。Java 1.0 比C慢20倍 现在的Java 1.6运行速度也只是C 的一半。 2. C++在继承和派生上比Java更灵活 3. C++ 中可以直接插入汇编 能直接操控底层硬件 所以操作系统还是得用 c写 4. Java办的到C++一定办得到,C++办得到的Java则不一定。 5. Sun被甲骨文收购了之后,Java的发展很受影响。 6. C++编译的程序可以直接运行,Java需要安装JRE有几十MB,影响产品发 布的用户体验。

原文地址:https://blog.csdn.net/wenjun890407/article/details/82774765?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168475009916800211521070%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168475009916800211521070&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-12-82774765-null-null.142^v87^insert_down1,239^v2^insert_chatgpt&utm_term=java%E4%BC%98%E5%8C%96

本文章网址:https://www.sjxi.cn/detil/d66a76e3445247ef833abcd27ff9784f

打赏作者

本站为非盈利网站,如果您喜欢这篇文章,欢迎支持我们继续运营!

最新评论
当前未登陆哦
登陆后才可评论哦

湘ICP备2021009447号

×

(穷逼博主)在线接单

QQ: 1164453243

邮箱: abcdsjx@126.com

前端项目代做
前后端分离
Python 爬虫脚本
Java 后台开发
各种脚本编写
服务器搭建
个人博客搭建
Web 应用开发
Chrome 插件编写
Bug 修复