Java 的特性有哪些?

文章导读
Previous Quiz Next Java 编程语言最初是为嵌入式系统、机顶盒和电视等设备而开发的。因此,根据需求,它最初被设计为能够在各种平台上运行。经过多年的发展,Java 演变为最受欢迎的用于开发基于互联网应用的语言之一。
📋 目录
  1. 面向对象
  2. 平台无关
  3. 简单
  4. 安全
  5. 架构中立
  6. 可移植
  7. 健壮
  8. 多线程
  9. 解释执行
  10. 高性能
A A

Java - 特性



Previous
Quiz
Next

Java 编程语言最初是为嵌入式系统、机顶盒和电视等设备而开发的。因此,根据需求,它最初被设计为能够在各种平台上运行。经过多年的发展,Java 演变为最受欢迎的用于开发基于互联网应用的语言之一。

Java 是一门功能丰富的语言,每一个新版本都在不断演进。它被广泛用于数十亿设备上。以下是 Java 语言的主要特性:

  1. 面向对象
  2. 平台无关
  3. 简单
  4. 安全
  5. 架构中立
  6. 可移植
  7. 健壮
  8. 多线程
  9. 解释型
  10. 高性能
  11. 分布式
  12. 动态

面向对象

在 Java 中,一切皆对象。Java 基于对象模型,因此易于扩展。作为一门具有面向对象特性的语言,Java 支持以下 OOPs 的基本概念:

  • 多态

  • 继承

  • 封装

  • 抽象

  • Classes

  • Objects

  • Instance

  • Method

  • 消息传递

平台无关

与其他许多编程语言(如 C 和 C++)不同,Java 在编译时不是编译成平台特定的机器码,而是编译成平台无关的 byte code。此 byte code 通过网络分发,并由运行它的平台上的 Java 虚拟机 (JVM) 解释执行。

Java 以 Write Once, Run Anywhere (WORA) 的方式设计。Java 代码不直接依赖于运行它的机器类型。Java 中的代码被编译成平台无关的 ByteCode。Java 虚拟机 (JVM) 能够理解 byte code。Java 为不同平台提供特定的 JVM。平台特定 JVM 负责正确解释 byte code,因此开发者可以自由编写代码,而无需担心 Windows、Linux、Unix、Mac 等平台。这一特性使 Java 成为一种平台中立的语言。

由于 byte code 可以分发到网络上并由运行它的平台上的虚拟机 (JVM) 解释执行,这使得 Java 代码具有高度的可移植性,适用于在多个平台上运行的应用。

简单

Java 被设计为易于学习。如果你理解了 OOP 的基本概念,掌握 Java 将会很容易。

Java 非常易学。它继承了 C 和 C++ 的许多特性,并去除了指针、操作符重载、多重继承、显式内存分配等复杂特性。它提供了自动垃圾回收。凭借包含数千个实用函数的丰富的库集,Java 使开发者的工作变得轻松。

安全

借助 Java 的安全特性,可以开发出无病毒、无篡改的系统。认证技术基于公钥加密。

Java 从设计上就高度安全,因为它不要求开发者直接与底层系统内存或操作系统交互。Bytecode 是安全的,缓冲区溢出、内存泄漏等安全漏洞非常罕见。Java 的异常处理机制允许开发者处理程序执行过程中可能发生的几乎所有类型的错误/异常。自动垃圾回收有助于保持系统内存空间利用率在可控范围内。

架构中立

Java 编译器生成一种架构中立的 object file format,这使得编译后的代码在许多处理器上可执行,前提是有 Java runtime system。

Java 编译器生成一种架构中立的 object file format,这使得编译后的代码在许多处理器上可执行,前提是有 Java runtime system。随着处理器架构或特定机器处理器的进步,Java 代码仍独立于任何特定处理器的要求。由于 Java 是一个开放标准,甚至可以为自定义架构准备特定的 JVM。在当今时代,我们几乎为所有流行平台和架构提供了 JVM,因此 Java 代码完全独立。例如,在 Windows 机器上创建的 Java 程序可以在 Linux 机器上运行,而无需任何代码修改。

可移植

由于架构中立且规范中没有实现依赖的方面,Java 具有可移植性。Java 中的编译器用 ANSI C 编写,具有清晰的可移植边界,这是一个 POSIX 子集。

由于这种可移植性,Java 自诞生以来就立即流行。它特别适用于互联网应用,在这些应用中,平台因地点而异,但同一代码库可以在多个平台上使用。因此,开发人员之间的协作在多个地点变得容易。

健壮

Java 通过强调编译时错误检查和运行时检查,努力消除容易出错的情况。自动垃圾回收、强大的内存管理、无指针、无直接访问系统内存、异常处理、错误处理等是使 Java 成为可靠的健壮语言的一些关键特性。

多线程

借助 Java 的多线程特性,可以编写同时执行多个任务的程序。此设计特性允许开发人员构建流畅运行的交互式应用。

多线程程序包含两个或更多部分,这些部分可以并发运行,每个部分可以同时处理不同的任务,从而优化利用可用资源,特别是当您的计算机具有多个 CPU 时。

根据定义,多任务处理是多个进程共享常见处理资源(如 CPU)的情况。多线程将多任务处理的概念扩展到应用中,您可以将单个应用中的特定操作细分为单个线程。每个线程都可以并行运行。操作系统不仅在不同应用之间分配处理时间,还在应用内的每个线程之间分配。

多线程使您能够以多种活动在同一程序中并发进行的方式编写代码。

解释执行

Java bytecode 在运行时被即时翻译为本地机器指令,且不存储在任何地方。开发过程更快且更具分析性,因为链接是一个增量且轻量级的过程。

JVM 位于 javac 编译器和底层硬件之间,javac(或其他编译器)将 Java 代码编译为 bytecode,由特定平台的 JVM 理解。然后,JVM 在代码执行时使用 JIT(Just-in-time)编译将 bytecode 编译为二进制代码。

高性能

通过使用 Just-In-Time 编译器,Java 实现了高性能。JVM 使用 JIT 编译器来提高程序的执行时间。以下是 JIT 编译器进行的一些通用优化

  • Method inlining
  • Dead code elimination
  • Heuristics for optimizing call sites
  • Constant folding

分布式

Java 是为互联网的分布式环境设计的。

动态

Java 被认为比 C 或 C++ 更具动态性,因为它设计用于适应不断演化的环境。Java 程序可以携带大量运行时信息,这些信息可用于在运行时验证和解析对对象的访问。