Java 简单介绍

不再赘述 Java 的安装与环境配置,本文主要介绍 Java 的一些基本概念。

1.1 什么是 Java?

Java 是一种高级计算机语言,由 Sun 公司(已被 Oracle 公司于 2009 年 4 月 20 日收购)于 1995 年推出。Java 是一门面向对象、跨平台、动态的编程语言。Java 是一种静态类型、多线程、安全的编程语言。

1.2 Java 的特点

  1. 简单易用:Java 是一门简单易用的编程语言,丢弃了 C++ 中较难掌握的运算符、控制结构和内存管理的复杂概念,使得 Java 程序员可以专注于业务逻辑的实现。
  2. 跨平台:Java 引入了虚拟机的概念,通过 Java 虚拟机(JVM)可以在各种操作系统平台上运行,包括 Windows、Linux、Mac OS、Solaris、AIX 等。Java 程序可以编译成字节码,在不同平台上都能运行。
  3. 面向对象:Java 将一切事物都视为对象,通过封装、继承和多态等特性,可以实现面向对象的编程。
  4. 支持多线程:Java 内置了对多线程的支持,使用户程序并发执行,并轻松实现多线程程序。

1.3 Java 的版本

Java 的版本分为三个级别:

  • Java SE (Standard Edition):Java 标准版,包括 Java SE 6、Java SE 7、Java SE 8 等。
  • Java EE (Enterprise Edition):Java 企业版,包括 Java EE 6、Java EE 7、Java EE 8 等。
  • Java ME (Micro Edition):Java 微型版,包括 Java ME 6、Java ME 7、Java ME 8 等。

2.1 什么是 JDK?

JDK(Java Development Kit)是 Java 开发工具包,包含了 Java 运行环境、Java 工具、Java 基础类库、Java 应用编程接口(API)等。JDK 包含 Java 编译器(javac)、Java 解释器(java)、Java 文档工具(javadoc)、Java 调试工具(jdb)、Java 单元测试工具(junit)等。

2.2 什么是 JRE?

JRE(Java Runtime Environment)是 Java 运行环境,包含了 Java 虚拟机(JVM)、Java 基础类库、Java 核心类库等。JRE 是运行 Java 程序的必备环境。

2.3 JDK、JRE 和 JVM 的区别

JDK、JRE 和 JVM 是 Java 开发环境的三个主要组成部分。JDK 包括开发工具和 JRE,而 JRE 包含了 Java 基础类库和 JVM。其中 JVM 是运行 Java 程序的虚拟机,负责执行字节码。如果只是运行 Java 程序,则只需安装 JRE;需要开发 Java 程序则需要安装 JDK。

2.4 JDK 的目录结构

  • bin 目录:存放可执行程序,如 javac.exe(Java 编译器)、java.exe(Java 运行工具)、javadoc.exe(文档生成工具)、jar.exe(Java 打包工具)等。
  • db 目录:小型的数据库,纯 Java 实现的开源数据库管理系统,轻便且支持 JDBC 4.0 所有的规范。
  • include 目录:存放一些头文件,如 jni.hjni_md.hjawt.h 等。
  • jre 目录:Java 运行时环境的根目录,包括 Java 虚拟机、运行时的类包、Java 应用启动器。
  • lib 目录:存放一些 Java 类库,如 rt.jartools.jar 等。
  • src.zip:Java 开发工具包的源代码,包含 JDK 核心类的源代码。
  • javafx-src.zip:JavaFX 开发工具包的源代码,包含 JavaFX 图形用户界面工具类的源代码。
  • README 等说明性文档:包含 JDK 版本、安装说明、系统要求、许可协议等信息。

2.5 javac.exe 和 java.exe 的主要作用

  • javac.exe:Java 编译器,将 .java 文件编译成 .class 字节码文件。
  • java.exe:Java 运行工具,启动 Java 虚拟机(JVM)进程,负责运行 .class 文件。

3.1 第一个 Java 程序

在 D 盘根目录下新建一个 demo 文件夹,并在该文件夹中新建文本文档,重命名为 HelloWorld.java 后,使用记事本打开,编写如下 Java 代码:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

解释:

  • class 是一个关键字,用来定义一个类。
  • HelloWorld:类的名称,简称类名。class关键字与类名之间用空格隔开。类名之后要跟一个大括号,定义当前类的管辖范围。
  • public:访问权限修饰符,表示该类可以被其他类访问。
  • public static void main(String[] args):定义了一个名为main的方法,该方法是程序的入口。
  • System.out.println("Hello World!");:输出一行文本"Hello World!"。

保存并关闭该文件,打开命令提示符(WIN+R -> cmd),输入以下命令:

D:
cd demo  //进入demo文件夹
javac HelloWorld.java //编译HelloWorld.java文件
java HelloWorld //运行编译后的自动生成的HelloWorld.class文件

解释:

  • javac HelloWorld.java:编译HelloWorld.java文件,生成HelloWorld.class文件。
  • java HelloWorld:运行HelloWorld.class文件,启动Java虚拟机,并执行main方法。

运行结果:

Hello World!

1728782210810-xclq.jpg

3.2 Java的运行机制

以上述HelloWorld程序为例,Java的运行机制如下:

  1. 编写一个Java源文件,如HelloWorld.java。
  2. 使用 javac HelloWorld.java 命令开启java编译器并进行编译,生成同名但后缀名为.class的字节码文件。
  3. 使用java HelloWorld命令开启Java虚拟机运行程序,虚拟机首先将编译好的字节码文件加载到内存,这个过程被成为类加载。它是由类加载器完成的,然后虚拟机通过java解析器对加载到内存中的java类进行编译运行。
  4. 执行后会生成计算机可以识别的机器码文件。
  5. 计算机执行机器码文件,显示运行结果。

通过上面分析可知,java运行是java虚拟机负责编译运行,而不是操作系统,所以可以实现java程序的跨平台运行,也就是说在不同的操作系统上,可以执行相同的java程序,这就是java的跨平台特性。