# Java 编程简介

> 原文： [https://beginnersbook.com/2013/05/java-introduction/](https://beginnersbook.com/2013/05/java-introduction/)

JAVA 由 Sun Microsystems Inc 于 1991 年开发，后来被 Oracle Corporation 收购。它由 James Gosling 和 Patrick Naughton 开发。它是一种简单的编程语言。在 java 中编写，编译和调试程序很容易。它有助于创建模块化程序和可重用代码。

## Java 术语

在我们开始学习 Java 之前，让我们熟悉常见的 Java 术语。

**Java 虚拟机（JVM）**

这通常称为 JVM。之前，我们讨论 JVM 让我们看看程序执行的各个阶段。阶段如下：我们编写程序，然后编译程序，最后运行程序。

1）程序的编写当然是由像你我这样的 java 程序员完成的。

2）程序编译由 javac 编译器完成，javac 是 java 开发工具包（JDK）中包含的主 java 编译器。它将 java 程序作为输入并生成 java 字节码作为输出。

3）在第三阶段，JVM 执行编译器生成的字节码。这称为程序运行阶段。

所以，现在我们知道 JVM 的主要功能是执行编译器生成的字节码。 **每个操作系统都有不同的 JVM，但是在执行字节码后它们产生的输出在所有操作系统**中是相同的。这就是我们将 java 称为平台无关语言的原因。

**字节码**

如上所述，JDK 的`javac`编译器将 java 源代码编译成字节码，以便它可以由 JVM 执行。字节码由编译器保存在`.class`文件中。

**Java 开发工具包（JDK）**

在解释 JVM 和字节码时，我使用了术语 JDK。我们来讨论一下。顾名思义，这是完整的 Java 开发工具包，包括 JRE（Java 运行时环境），编译器和各种工具，如 JavaDoc，Java 调试器等。
为了创建，编译和运行 Java 程序，您需要在您的上安装 JDK 电脑。

**Java 运行时环境（JRE）**

JRE 是 JDK 的一部分，这意味着 JDK 包含 JRE。如果在系统上安装了 JRE，则可以运行 java 程序，但是无法编译它。 JRE 包括 JVM，浏览器插件和 applet 支持。当您只需要在计算机上运行 java 程序时，您只需要 JRE。

这些是在 java 中混淆​​初学者的基本 java 术语。有关完整的 java 词汇表，请参阅此链接：
[https://docs.oracle.com/javase/tutorial/information/glossary.html](https://docs.oracle.com/javase/tutorial/information/glossary.html)

## JAVA 的主要特点

### Java 是一种独立于平台的语言

编译器（`javac`）将源代码（`.java`文件）转换为字节代码（`.class`文件）。如上所述，JVM 执行编译器生成的字节码。这个字节代码可以在任何平台上运行，例如 Windows，Linux，Mac OS 等。这意味着在 Windows 上编译的程序可以在 Linux 上运行，反之亦然。每个操作系统都有不同的 JVM，但是在执行字节码后它们产生的输出在所有操作系统中都是相同的。这就是我们将 java 称为平台无关语言的原因。

### Java 是面向对象的语言

面向对象编程是一种将程序组织为对象集合的方法，每个对象都代表一个类的实例。

面向对象编程的 4 个主要概念是：

1.  [抽象](https://beginnersbook.com/2013/03/oops-in-java-encapsulation-inheritance-polymorphism-abstraction/ "OOPs in Java- Encapsulation, Inheritance, Polymorphism, Abstraction")
2.  [封装](https://beginnersbook.com/2013/05/encapsulation-in-java/ "Encapsulation in Java with example")
3.  [继承](https://beginnersbook.com/2013/05/java-inheritance-types/ "Types of inheritance in Java: Single,Multiple,Multilevel & Hybrid")
4.  [多态](https://beginnersbook.com/2013/03/polymorphism-in-java/ "Polymorphism in Java – Method Overloading and Overriding")

### 简单

Java 被认为是一种简单的语言，因为它没有像运算符重载，[多重继承](https://beginnersbook.com/2013/05/java-multiple-inheritance/)，指针和显式内存分配这样的复杂功能。

### 健壮的语言

稳健意味着可靠。 Java 编程语言的开发方式非常强调早期检查可能的错误，这就是为什么 java 编译器能够检测其他编程语言中不易检测的错误的原因。使其健壮的 java 的主要特征是垃圾收集，异常处理和内存分配。

### 安全

我们没有指针，我们无法在 java 中访问超出绑定的数组（如果你试图这样做，你会得到`ArrayIndexOutOfBoundsException`）。这就是为什么在 Java 中无法利用堆栈损坏或缓冲区溢出等几个安全漏洞的原因。

### Java 是分布式的

使用 java 编程语言我们可以创建分布式应用 RMI（远程方法调用）和 EJB（Enterprise Java Bean）用于在 java 中创建分布式应用。简单来说：java 程序可以分布在多个使用互联网连接的系统上。一个 JVM（java 虚拟机）上的对象可以在远程 JVM 上执行过程。

### 多线程

Java 支持[多线程](https://beginnersbook.com/2013/03/multithreading-in-java/ "Multithreading in java with examples")。多线程是一种 Java 功能，允许并发执行程序的两个或多个部分，以最大限度地利用 CPU。

### 便携

如上所述，在一台机器上编写的 java 代码可以在另一台机器上运行。平台无关的字节代码可以被携带到任何平台以便执行，从而使 java 代码可移植。