Java 有着非常多的优点,下面我们将逐一进行介绍。
📚Java的特性 - 图1

1. 简单

说 Java 语言的语法简单是相对的,和很多脚本语言(例如 Python 或 R)比起来,Java 的部分语法其实并不简单。但是和非常底层的 C 和 C++ 的语法比起来,Java 的语法确实是很简单,也更容易掌握,并且是一门面向对象[1]的编程语言。

Java 语言的简单性主要体现在以下几个方面:

  • Java 的语法规则和 C++ 非常类似
  • Java 对 C++ 部分语法进行了简化和提高,体现在
    • 使用接口取代了多重继承
    • 取消了指针
    • 垃圾自动回收
  • Java 良好的社区和生态圈,保证了丰富的类库和 API 文档,以及第三方开发包,我们可以在 Github 上找到大量优秀的开源项目进行学习

:::info 💡 备注
——————————
Java 发展至今,已经不完全是纯面向对象的编程语言了,随着函数式编程的兴起,Java 也拥有了函数式编程的优点,这一点在学习 Spring 时会大量看到这样的例子,虽然底层的实现还是使用类。 :::

2. 面向对象

Java 语言的一个重要特性就是面向对象,这也是整个 Java 语言的基础,它设计之初就是定义为一门纯面向对象的编程语言。在 Java 中提倡万物皆为对象,语法中不能在类外面定义单独的数据和函数,也就是说,Java 程序之间的通信最基本数据类型是对象,所有元素都需要通过类和对象来访问。

3. 分布式

Java 的分布性包括操作分布数据分布,其中操作分布指的是指在多个不同的主机上布置相关操作(例如 Hadoop Yarn),而数据分布是将数据分别存放在多个不同的主机上(例如 HDFS),这些主机都是网络中的不同成员。借助于 URL(统一资源定位符) 对象,Java 可以像访问本地系统一样访问网络对象。

4. 可移植性

Java 程序可以运行在多个系统(例如 Mac、Linux 或者 Windows)的计算机上,也就说我们常说的跨平台,同时 Java 类库中也已经实现了针对不同平台的接口。

5. 解释型

Java 程序的运行需要解释器,这里的解释器其实就是经常提到的 JVM(Java 虚拟机)。当我们的计算机安装了 Java 解释器,就可以执行 Java 字节码(.class 文件)。

字节码独立于平台,本身携带了许多编译时的信息,它使得连接过程更加简单,开发过程更加迅速,也更具探索性。

6. 安全性

Java 语言删除了 C 语言中的指针和内存释放等语法,有效地避免了非法操作内存。同时,Java 程序代码要经过代码校验、指针校验等很多测试步骤才能够运行,所以未经允许的 Java 程序不可能出现损害系统的行为,而且使用 Java 可以编写防病毒和防修改的系统。

7. 健壮性

Java 程序设计目标之一是编写多方面的、可靠的应用程序,借助于类型检查可以帮助我们检查出许多在开发早期出现的错误,结合集成开发工具(例如 JetBrains IntelliJ IDEA) 还可以检查程序在编译和运行时的错误,从而提前将错误暴露并进行消除。

:::info 💡 推荐
——————————
这里强烈推荐下 JetBrains IntelliJ IDEA,搞 Java 开发必备神器,就像 Python 开发者必选 PyCharm 一样。 :::

8. 多线程

多线程机制能够使用应用程序在同一时间内并行执行多项任务,而且相应的同步机制可以保证不同线程能够正确地共享数据。使用多线程,可以带来更好的交互能力和实时行为。

9. 高性能

Java 编译后的字节码是在放在 JVM 中运行的,所以它的速度较大多数应用程序提高了很多。此外,字节码可以在程序运行时被翻译成特定平台的机器指令,从而进一步提高运行速度。

10. 动态

Java 比起 C 和 C++ 更能适用技术环境的发展,它可以动态调整库中的方法和增加变量,而客户端并不需要任何更改。