这是我参与更文挑战的第1天,活动详情查看: 更文挑战
很多朋友都在用 Java 这门开发语言,今天给大家分享下这门语言的一些特点。
Java 语言特点
首先我们看下 Java 的语言特点,如图所示。
Java 是纯粹的面向对象语言,它因统一的字节码文件和差异化的 JDK 而具有平台无关的特性。
Java 内置丰富的类库,使开发者效率大为提升。它支持 web,广泛应用于各大互联网企业的网站后台,像阿里美团都在使用。
Java 的安全性也很出众,通过沙箱安全模型保证其安全性,能够有效防止代码攻击。
Java 也具备很强的健壮性,比如它是强类型的,支持自动化的垃圾回收器,有完善的异常处理机制和安全检查机制。
与 C++ 比较
同样是面向对象的编程语言,Java 和 C++ 存在异同。
| 比较点 | C++ | Java |
|---|---|---|
| 语言类型 | 编译型语言 | 解释编译混合型语言 |
| 执行速度 | 快 | 慢 |
| 是否跨平台 | 否 | 是 |
| 面向对象 | 面向对象和面向过程混合 | 纯面向对象 |
| 指针 | 有 | 无 |
| 多继承 | 支持 | 不支持 |
| 内存管理 | 手动 | 自动 |
从语言类型上看,C++ 的代码编译好,就能被计算机直接执行,它是编译型语言,而 Java 经过 javac 把 java 文件编译成 class 文件后,还需要 JVM 从 class 文件读一行解释执行一行,它是解释编译混合型语言。也就是中间多了 JVM 这一道,Java 也具备了跨平台特性,而 C++ 就没有这个优势。
从面向对象的角度上看,C++ 是在 C 的基础上的新的探索和延伸,因此它是面向对象和面向过程混合的,而 Java 就是纯粹的面向对象。
此外,C++ 有指针的概念,Java 没有。C++ 支持多继承,Java 不支持。C++ 需要手动进行内存管理,Java 通过垃圾回收机制实现了内存的自动管理。