Java 语言简介:跨平台特性与核心原理
Java 是由 Sun Microsystems(后被 Oracle 收购)于 1995 年推出的面向对象编程语言,以跨平台性、安全性和可扩展性著称,广泛应用于企业级开发、移动应用(Android)、大数据处理等领域。
Java 的核心特性
- 跨平台性(Write Once, Run Anywhere)
这是 Java 最显著的优势。Java 程序经编译后生成字节码(.class 文件),而非直接生成机器码。字节码可在安装了 Java 虚拟机(JVM) 的任何平台(Windows、Linux、macOS 等)上运行,无需重新编译。- 实现原理:不同平台安装对应版本的 JVM,由 JVM 负责将字节码解释或编译为本地机器码。
- 对比其他语言:C/C++ 需为不同平台编译不同的机器码,而 Java 只需一次编译,多平台运行。
- 面向对象(OOP)
Java 完全支持面向对象编程的三大特性:- 封装:通过类和对象封装数据与行为,隐藏实现细节。
- 继承:允许类继承父类的属性和方法,实现代码复用。
- 多态:同一方法在不同对象上有不同实现(如重写、接口)。
- 安全性与健壮性
- 内存管理:通过垃圾回收机制(Garbage Collection)自动释放无用对象,减少内存泄漏。
- 强类型检查:编译期严格检查数据类型,避免类型错误。
- 异常处理:强制处理可能的异常,增强程序容错能力。
- 沙箱机制:限制程序对系统资源的访问(如 Applet 程序),保障安全性。
- 多线程支持
Java 内置多线程库(java.lang.Thread
),简化并发编程,适合开发高性能、响应迅速的应用(如服务器程序)。 - 丰富的类库与生态
- 标准库(JDK)提供大量现成工具类(如集合框架、IO 操作、网络编程)。
- 第三方框架(Spring、MyBatis、Hadoop 等)覆盖企业开发各领域,大幅提升开发效率。
Java 程序的运行流程
Java 程序从编写到运行需经历编译和运行两个阶段,核心依赖 JDK(Java 开发工具包)和 JVM:
编写源代码
使用文本编辑器或 IDE(如 IntelliJ IDEA)编写.java
源文件(如HelloWorld.java
)。1
2
3
4
5public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}编译为字节码
使用 JDK 中的javac
编译器,将.java
文件编译为.class
字节码文件:1
javac HelloWorld.java # 生成 HelloWorld.class
字节码是一种中间代码,包含 JVM 可理解的指令,不依赖具体平台。
运行字节码
通过 JVM 的java
命令加载并执行.class
文件:1
java HelloWorld # 输出:Hello, Java!
此时,JVM 会将字节码转换为当前平台的机器码并执行。
JDK、JRE 与 JVM 的关系
- JVM(Java Virtual Machine):Java 虚拟机,负责执行字节码,是跨平台的核心。
- JRE(Java Runtime Environment):Java 运行时环境,包含 JVM 和运行 Java 程序所需的核心类库(如
java.lang
包)。用户只需安装 JRE 即可运行 Java 程序。 - JDK(Java Development Kit):Java 开发工具包,包含 JRE 及开发工具(
javac
编译器、java
运行工具、调试工具等)。开发者必须安装 JDK 才能编写和编译 Java 程序。
关系公式:
1 | JDK = JRE + 开发工具 |
Java 的应用领域
- 企业级开发:通过 Spring、Spring Boot 等框架开发后端服务(如电商系统、金融平台)。
- 移动开发:Android 应用主要使用 Java 或 Kotlin(基于 JVM)开发。
- 大数据处理:Hadoop、Spark 等大数据框架主要基于 Java 开发。
- 嵌入式系统:Java 轻量级版本(Java ME)用于智能设备(如智能家居、车载系统)。
- 桌面应用:通过 Swing、JavaFX 开发桌面软件(如 IDEA 等工具)。
v1.3.10