0%

java简介

Java 语言简介:跨平台特性与核心原理

Java 是由 Sun Microsystems(后被 Oracle 收购)于 1995 年推出的面向对象编程语言,以跨平台性安全性可扩展性著称,广泛应用于企业级开发、移动应用(Android)、大数据处理等领域。

Java 的核心特性

  1. 跨平台性(Write Once, Run Anywhere)
    这是 Java 最显著的优势。Java 程序经编译后生成字节码(.class 文件),而非直接生成机器码。字节码可在安装了 Java 虚拟机(JVM) 的任何平台(Windows、Linux、macOS 等)上运行,无需重新编译。
    • 实现原理:不同平台安装对应版本的 JVM,由 JVM 负责将字节码解释或编译为本地机器码。
    • 对比其他语言:C/C++ 需为不同平台编译不同的机器码,而 Java 只需一次编译,多平台运行。
  2. 面向对象(OOP)
    Java 完全支持面向对象编程的三大特性:
    • 封装:通过类和对象封装数据与行为,隐藏实现细节。
    • 继承:允许类继承父类的属性和方法,实现代码复用。
    • 多态:同一方法在不同对象上有不同实现(如重写、接口)。
  3. 安全性与健壮性
    • 内存管理:通过垃圾回收机制(Garbage Collection)自动释放无用对象,减少内存泄漏。
    • 强类型检查:编译期严格检查数据类型,避免类型错误。
    • 异常处理:强制处理可能的异常,增强程序容错能力。
    • 沙箱机制:限制程序对系统资源的访问(如 Applet 程序),保障安全性。
  4. 多线程支持
    Java 内置多线程库(java.lang.Thread),简化并发编程,适合开发高性能、响应迅速的应用(如服务器程序)。
  5. 丰富的类库与生态
    • 标准库(JDK)提供大量现成工具类(如集合框架、IO 操作、网络编程)。
    • 第三方框架(Spring、MyBatis、Hadoop 等)覆盖企业开发各领域,大幅提升开发效率。

Java 程序的运行流程

Java 程序从编写到运行需经历编译运行两个阶段,核心依赖 JDK(Java 开发工具包)和 JVM:

  1. 编写源代码
    使用文本编辑器或 IDE(如 IntelliJ IDEA)编写 .java 源文件(如 HelloWorld.java)。

    1
    2
    3
    4
    5
    public class HelloWorld {
    public static void main(String[] args) {
    System.out.println("Hello, Java!");
    }
    }
  2. 编译为字节码
    使用 JDK 中的 javac 编译器,将 .java 文件编译为 .class 字节码文件:

    1
    javac HelloWorld.java  # 生成 HelloWorld.class

    字节码是一种中间代码,包含 JVM 可理解的指令,不依赖具体平台。

  3. 运行字节码
    通过 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
2
JDK = JRE + 开发工具  
JRE = JVM + 核心类库

Java 的应用领域

  1. 企业级开发:通过 Spring、Spring Boot 等框架开发后端服务(如电商系统、金融平台)。
  2. 移动开发:Android 应用主要使用 Java 或 Kotlin(基于 JVM)开发。
  3. 大数据处理:Hadoop、Spark 等大数据框架主要基于 Java 开发。
  4. 嵌入式系统:Java 轻量级版本(Java ME)用于智能设备(如智能家居、车载系统)。
  5. 桌面应用:通过 Swing、JavaFX 开发桌面软件(如 IDEA 等工具)。

欢迎关注我的其它发布渠道

表情 | 预览
快来做第一个评论的人吧~
Powered By Valine
v1.3.10