• 21、C++与Java的区别


    一、语言特性

    1.Java语言给开发人员提供了更为简洁的语法;完全面向对象,由于JVM可以安装到任何的操作系统 上,所以说它的可移植性强

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

    3.C++也可以在其他系统运行,但是需要不同的编码(这一点不如Java,只编写一次代码,到处运 行),例如对一个数字,在windows下是大端存储,在unix中则为小端存储。Java程序一般都是生成字节码,在JVM里面运行得到结果

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

    二、垃圾回收

    1.C++用析构函数回收垃圾,写C和C++程序时一定要注意内存的申请和释放

    2.Java语言不使用指针,内存的分配和回收都是自动进行的,程序员无须考虑内存碎片的问题

    三、应用场景

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

    2.Java在Web 应用上具有C++ 无可比拟的优势,具有丰富多样的框架

    3.对于底层程序的编程以及控制方面的编程,C++很灵活,因为有句柄的存在

  • 相关阅读:
    常见面试测试要点
    怎样在 CentOS/RHEL 7/6 上安装和配置 Sendmail 服务器
    Cannot uninstall 'pyparsing'. It is a distutils installed project
    Linux下校验SHA1和MD5的方法
    Linux查看进程启动时间和运行多长时间
    sqlplus -S参数表示什么意思?
    dnspython模块报错 AttributeError: 'CNAME' object has no attribute 'address'
    CentOS7中安装pip的方法
    四则运算中遇到的一个问题
    动手动脑
  • 原文地址:https://www.cnblogs.com/crbhf/p/14919264.html
Copyright © 2020-2023  润新知