C++和java的区别和联系

通常,我们聊到Java,第一印象“面向对象”,“没有指针,编写效率高,执行效率较低”。更深入、专业一点就谈论 “java内存自动回收(GC垃圾回收机制),多线程编程”。**
java的三大特性是封装、继承和多态。**

总结如下:

1、 JAVA的应用在高层,C++在中间件和底层

2、 JAVA离不开业务逻辑,而C++可以离开业务为JAVA们服务

3、 java语言给开发人员提供了更为简洁的语法;取消了指针带来更高的代码质量;完全面向对象,独特的运行机制是其具有天然的可移植性。

4、 java 是运行在JVM上的,之所以说它的可移植性强,是因为jvm可以安装到任何的系统

5、 c++不是不能在其他系统运行,而是c++在不同的系统上运行,需要不同的编码(这一点不如java,只编写一次代码,到处运行)。java程序一般都是生成字节码,在JVM里面运行得到结果。

6、 java 在web 应用上具有c++ 无可比拟的优势

7、 java在桌面程序上不如c++实用,C++可以直接编译成exe文件,指针是c++的优势,可以直接对内存的操作,但同时具有危险性 。(操作内存的确是一项非常危险的事情,一旦指针指向的位置发生错误,或者误删除了内存中某个地址单元存放的重要数据,后果是可想而知的)。

8、 垃圾回收机制的区别。c++用析构函数回收垃圾,java自动回收(GC算法),写C和C++程序时一定要注意内存的申请和释放。

9、 java 丰富的插件是java 发展如此迅速的原因
10、 java 很大的沿袭了c++的一些实用结构
11、 对于底层程序的编程以及控制方面的编程,c++很灵活,因为有句柄的存在。
相关文章:http://www.jieba8.com/
Java并不仅仅是C++语言的一个变种,它们在某些本质问题上有根本的不同:

(1)Java比C++程序可靠性更高。有人曾估计每50行C++程序中至少有一个BUG。姑且不去讨论这个数字是否夸张,但是任何一个C++程序员都不得不承认C++语言在提供强大的功能的同时也提高了程序含BUG的可能性。Java语言通过改变语言的特性大大提高了程序的可靠性。

(2)Java语言不需要程序对内存进行分配和回收。Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,在Java语言中,内存的分配和回收都是自动进行的,程序员无须考虑内存碎片的问题。

(3)Java语言中没有指针的概念,引入了真正的数组。不同于C++中利用指针实现的“伪数组”,Java引入了真正的数组,同时将容易造成麻烦的指针从语言中去掉,这将有利于防止在c++程序中常见的因为数组操作越界等指针操作而对系统数据进行非法读写带来的不安全问题。

(4)Java用接口(Interface)技术取代C++程序中的多继承性。接口与多继承有同样的功能,但是省却了多继承在实现和维护上的复杂性。

Java和C++各有各的优势,无需争论那种语言好,哪种语言不好,能够存在就一定有它的优势,只要你决定了要学编程就扎实的学好,编程语言都是相同的,学会一种,其他的学起来就很容易了。

加油!
参考文章:http://www.xdy666.com/

C++和java的区别和联系相关推荐

  1. java和python的web自动化有什么区别-三分钟看懂Python和Java的区别

    随着人工智能的火爆,Python和Java一直在各种流行编程语言中名列前茅.其实Java和Python有些相似,因为很多编程语言之间是互通的.Java现在还是第一,不知道Python未来会不会超越Ja ...

  2. python和java一样吗-三分钟看懂Python和Java的区别

    随着人工智能的火爆,Python和Java一直在各种流行编程语言中名列前茅.其实Java和Python有些相似,因为很多编程语言之间是互通的.Java现在还是第一,不知道Python未来会不会超越Ja ...

  3. python和java一样吗-python和java的区别,看了这个就会区分了!

    翻看日历,2019年结束也就剩下3个月的时间了!时光飞逝,伴随着互联网人工智能时代的发展,人类一直在预测,2020年什么技术会火?其中,人工智能编程成了大家讨论的热点,Python.Java一直被人们 ...

  4. js与java的区别,JavaScript与Java的区别是什么呀?

    JavaScript和Java看起来相似,其实这两者是两门不同的编程语言,他们没有任何的血缘关系.下面本篇文章就来给大家介绍一下JavaScript和Java的区别,希望对大家有所帮助. Java和J ...

  5. 【C/C++】从技术学习和实际运用的角度来看,C/C++和Java到底区别在哪?C语言、C++学习路线?

    转自羊哥的公众号 这几个问题都是私信里常被问到的,也是我当时学习过程中的一些疑惑.谁说黑乎乎的命令行里运行的程序就没有用!这跟学什么编程语言.后续从事什么编程方向均无关,只要做编程开发,这四个计算机基 ...

  6. java 析构函数_C++与Java的区别(一)

    一,前言 网上经常看到编程语言之争,大伙儿皈依到不同门派,各自怀抱信仰,时不时还发生点儿"冲突". 这其中,C++和Java的优劣,十多年前就常吵的火热.然而时代在进步,技术在发展 ...

  7. php和java 2017_Php与java的区别

    Php与java的区别 1.java和php技术层面对比: java是纯面向对象开发,功能强大,分支众多,没有java不能做的软件,PHP有他独特的领域,那就是WEB在这方面没有可以和他相比较,其与j ...

  8. groovy 和 java的区别_Groovy和JAVA的区别

    这段时间还是比较忙的博客也很久没写了 服务器也到期了一直没续费emmm 由于现在在写groovy的代码 所以这篇简单写点groovy相关的 1.Groovy和JAVA的区别 在Groovy中,将在运行 ...

  9. java跟c 的区别_【c++跟java的区别】java跟c语言的区别

    Java与C/C++作为编程语言的两大巨头,他们有什么区别呢?下面是小编为大家准备的c++跟java的区别,希望大家喜欢! c++的定义 C++是一种面向对象的计算机程序设计语言.C++这个词在中国大 ...

  10. 网页设计中JS与Java的区别

    在各种网页制作技术论坛中,常常有人询问javascript与Java有什么区别,甚至有人误认为javascript就是Java.javascript与Java确实有一定的联系,但它们并不像我们想象的那 ...

最新文章

  1. python编写一个软件-python写一个随机点名软件的实例
  2. 把 Spring Cloud 给拆了!详解每个组件的作用
  3. JavaScript学习备忘
  4. wordpress插件在服务器上的存储位置
  5. cart算法_【统计学】决策树模型大比拼!ID3/C4.5/CART算法哪个更好用?
  6. android ems的作用,对话框主题活动中忽略android:minEms
  7. Futter基础第19篇: 实现调用第三方时间选择器、日期选择器、时间戳
  8. unity使用VideoPlayer播放视频
  9. jetson nano 自动调节风扇转速
  10. 计算机自动化考试试题,计算机等级考试,办公自动化考试试题(一).doc
  11. 新鲜出炉的2019年最受期待的10大区块链游戏
  12. 2021-11-26 pyautogui 配合雷电模拟器实现手机APP签到答题自动化
  13. 可以在一眨眼之间接触到庞大受众的方式
  14. 怎么把PDF拆分开成一张一张的
  15. 关于create-react-app搭建react环境并修改端口号
  16. 计算机视觉之人脸识别(Yale数据集)--HOG和ResNet两种方法实现
  17. opencv读取的图像为什么是BGR
  18. 数学建模让人收益终身——2022美国大学生数学建模竞赛F奖
  19. Adobe Premiere Pro 打开webm格式插件的下载使用||如何解决Pr不能导入webm格式的问题?
  20. 暑期2020“大咖说开源”之 孙金城:参与 ASF 开源贡献的正确姿势

热门文章

  1. 怎么看linux Java版本,查看linux的java版本信息
  2. office电子书_掌阅推出首款彩屏电子书阅读器,用它看漫画体验到底如何?
  3. 仿网易LOFTER视差滚动列表
  4. HIVE修改列顺序中的坑
  5. 服务器MYSQL 数据库搭建 win2008 x64
  6. 计算机专业研究生阶段有几大研究方向可以选择
  7. SpringBoot系列课程(二)-SpringBoot整合MyBatis
  8. idea集成泛微axis拉取代码时报错,Axis1.4完整maven jar
  9. C# 中DataGridView 表头设置
  10. Arduino嵌入式开发