C++ 开发,周末看了 2 天 Java 教程,直接上手写 Java。说下自己最明显的感受,用的不多,理解不一定对:
- 【JVM】Java 编译+解释,运行在 JVM,跨平台移植方便,但执行速度/效率比 C++ 低
- 【Pure OOP】Java 纯面向对象,除了几个基本类型,都是类;C++ 支持多种编程范式:面向过程、面向对象、模板元编程...
- 【GC】Java 有自动的 GC 垃圾回收机制,只管 new,不用 delete
- 【精简】Java 没有指针、头文件、多重继承、运算符重载、union、struct 等,历史包袱不像 C++ 那么重,整体感觉比 C++ 更纯粹、精简、统一
- 【其他】
- Java 基本数据类型大小都有明确规定,不像 C++ 只规定基本数据类型的最小大小
- Java String 不可改,每次修改创建新对象,需要 StringBuilder
- Java 的范型:类型擦除
- Java 反射
区别还很多,印象深刻的就是以上几个。