- Java源码会先经过编译器编译成字节码(class文件),然后由JVM中内置的解释器解释成机器码。而C++源码直径过一次编译,直接在编译的过程中链接了,形成机器码
- C++比Java执行效率快,但是Java可以利用JVM跨平台
- Java是纯面向对象的语言,所有代码都必须在勒种定义。而C++中还有面向过程的东西,比如全局变量和全局函数
- C++中有指针,Java中没有,但是有引用
- C++支持多继承,Java类都是单继承。但是继承都有传递性,同时Java中的接口是多继承,接口可以多实现
- Java 中内存的分配和回收由Java虚拟机实现。Java 中有垃圾自动回收机制,会自动清理引用数为0的对象。而在 C++ 编程时,则需要花精力考虑如何避免内存泄漏。
- C++运算符可以重载,但是Java中不可以。同时C++中支持强制自动转型,Java中不行,会出现ClassCastException(类型不匹配)。