Java 简明教程

Java - Features

Java 编程语言最初开发用于在 embedded systems、机顶盒、电视上工作。因此,按照要求,它最初设计用于在各种平台上工作。经过多年的发展,Java 已演变成最流行的用于开发基于 Internet 的应用程序的一种语言。

Java 是一种功能丰富的语言,并且随着每个新版本的发布,它都在不断发展。它被广泛应用于数十亿台设备上。以下是 Java 语言的主要功能 -

Object Oriented

在 Java 中,一切都是对象。Java 基于对象模型,因此可以轻松扩展。作为一种具有面向对象功能的语言,Java 支持以下基本 concepts of OOPs

Platform Independent

与包括 CC++ 在内的许多其他编程语言不同,当 Java 被编译时,它不会被编译成特定平台的机器码,而是编译成与平台无关的字节码。此字节码通过 Web 分发,并由 Java Virtual Machine (JVM) 在其运行的任何平台上解释。

Java 是以 Write Once, Run Anywhere (WORA) 方式设计的。用 Java 编写的代码不直接依赖于其运行的计算机类型。在 Java 中的代码在 ByteCode 中进行编译,而 ByteCode 与平台无关。Java 虚拟机(JVM)可以理解字节码。Java 提供了特定于平台的 JVM。特定于平台的 JVM 负责正确解释字节码,因此开发人员可以自由地编写代码,而不用担心平台(如 Windows、Linux、Unix、Mac 等)。此功能使 Java 成为一种平台无关的语言。

因为字节码可以通过 Web 分发,并在其上运行的任何平台上由虚拟机(JVM)解释。这使得 java 代码高度可移植,并且对于在多个平台上运行的应用程序很有用。

Simple

Java 被设计为易于学习。如果您理解了 OOP Java 的基本概念,那么掌握起来会很容易。

Java 非常容易学习。它从 C、C++ 继承了许多功能,并去除了指针、运算符重载、多重继承、显式内存分配等复杂功能。它提供自动垃圾回收。通过提供包含数千个有用函数的大量库,Java 使开发人员的生活变得轻松。

Secure

Java 的安全功能使其能够开发防病毒、防篡改系统。身份验证技术基于公钥加密。

Java 在设计上高度安全,因为它不要求开发人员与底层系统内存或操作系统进行交互。字节码是安全的,并且缓冲区溢出、内存泄漏等一些安全缺陷非常罕见。Java 异常处理机制允许开发人员处理几乎所有类型的错误/异常,这些错误/异常可能会在程序执行时发生。自动垃圾回收有助于保持系统内存空间利用率受到控制。

Architecture-neutral

Java compiler 生成与架构无关的对象文件格式,这让编译代码可以在许多处理器上执行,前提是存在 Java 运行时系统。

Java 编译器生成了一个与体系结构无关的目标文件格式,该格式使已编译代码在很多处理器上可执行,并存在 Java 运行时系统。随着处理器体系结构或特定于计算机的处理器的进步,java 代码保持独立于处理器的任何特定要求。由于 java 是一个开放标准,因此甚至可以为自定义体系结构准备一个特定的 JVM。如同现今,我们几乎为所有流行的平台、体系结构准备了 JVM,java 代码完全独立。例如,在 Windows 计算机中创建的 java 程序可在 linux 计算机上运行,而无需修改任何代码。

Portable

与体系结构无关且对规范没有实现依赖性的方面使 Java 具有可移植性。Java 中的编译器是用 ANSI C 编写的,具有明确的可移植性边界,这是一个 POSIX 子集。

由于具有这种可移植性,java 从一开始就大受欢迎。它对于基于互联网的应用程序特别有用,因为不同位置的平台各不相同,并且可以在多个平台上使用相同的代码库。因此,多个地点之间的开发人员协作非常容易。

Robust

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

Multithreaded

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

多线程程序包含两个或多个可以同时运行的部分,并且每个部分可以在同一时间处理不同的任务,从而充分利用可用的资源,尤其是在计算机具有多个 CPU 时。

根据定义,多任务处理是指多个进程共享公共处理资源的情况,例如 CPUMultithreading 将多任务处理的理念扩展到您可以在其中将单个应用程序中的特定操作细分为各个线程的应用程序中。每个线程都可以并行运行。OS 不仅在不同应用程序之间分配处理时间,也为应用程序中的各个线程分配。

通过使用多线程,您可以以在相同程序中可以并行执行多项活动的方式来编写代码。

Interpreted

Java 字节码会即时翻译为本机机器指令,并且不会存储在任何地方。由于链接是一个渐进式的轻量级过程,因此开发过程更加快速和分析化。

JVM 位于 javac 编译器和底层硬件之间,javac(或任何其他编译器)编译器将 Java 代码编译成字节码中,该字节码可以被特定于平台的 JVM 所理解。然后 JVM 在代码执行时使用 JIT(即时)编译将字节码编译成二进制文件。

High Performance

通过使用即时编译器,Java 可以实现高性能。JVM 使用 JIT 编译器来改善程序的执行时间。以下是 JIT 编译器所执行的一些常规优化:

  1. Method inlining

  2. Dead code elimination

  3. 优化调用站点的启发式方法

  4. Constant folding

Distributed

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

Dynamic

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