当前位置: 首页 > news >正文

【从零开始java学习|第一篇】java中的名词概念(JDK、JVM、JRE等等)

目录

一、核心运行环境三要素(JVM/JRE/JDK)

二、常用开发指令(JDK 自带工具)

三、一些其他概念

四、总结核心逻辑链

要入门 Java,理解核心概念之间的关系是基础。以下是 Java 中最核心的基础概念、工具及相关名词的整理,包含它们的含义、区别和记忆方法:

一、核心运行环境三要素(JVM/JRE/JDK)

这三个是 Java 跨平台特性的核心,从包含关系上:JDK ⊇ JRE ⊇ JVM

  1. JVM(Java Virtual Machine,Java 虚拟机)

    • 含义:是一台 “虚拟的计算机”,负责执行 Java 字节码(.class 文件)。
    • 作用:Java 的 “跨平台” 核心 —— 不同操作系统(Windows/macOS/Linux)有不同的 JVM 实现,但都能执行相同的字节码,实现 “一次编写,到处运行”(Write Once, Run Anywhere)。
    • 特点:本身不直接运行 Java 源文件(.java),只运行编译后的字节码(.class)。
  2. JRE(Java Runtime Environment,Java 运行时环境)

    • 含义:是 Java 程序运行所需的最小环境。
    • 组成:包含 JVM + 运行 Java 程序必需的核心类库(如java.lang包中的基础类)。
    • 用途:如果只需要运行别人写好的 Java 程序(比如.jar文件),安装 JRE 即可。
  3. JDK(Java Development Kit,Java 开发工具包)

    • 含义:是 Java 开发人员必须安装的工具包。
    • 组成:包含 JRE + 开发工具(编译器、调试器、文档工具等)。
    • 用途:用于编写、编译、调试 Java 程序。开发者必须安装 JDK(因为包含编译工具javac)。

对于这些概念,可以通过这样来理解
用 “工具箱” 比喻:

  • JVM 是 “发动机”(执行核心);
  • JRE 是 “能让发动机跑起来的整套系统”(发动机 + 基础燃料 / 零件);
  • JDK 是 “带维修工具的全套系统”(包含 JRE,再加扳手 / 螺丝刀等开发工具)。

二、常用开发指令(JDK 自带工具)

这些指令在命令行中使用,是 JDK 工具的入口:

  1. javac

    • 含义:Java 编译器(compiler)。
    • 功能:将 Java 源文件(.java)编译为字节码文件(.class)。
    • 示例:javac HelloWorld.java → 生成HelloWorld.class
  2. java

    • 含义:Java 运行工具。
    • 功能:启动 JVM,并让 JVM 加载并执行指定的.class 字节码文件(注意:执行时不需要写.class后缀)。
    • 示例:java HelloWorld → JVM 执行HelloWorld.class
  3. javadoc

    • 含义:Java 文档生成工具(document)。
    • 功能:从 Java 源文件的注释(以/** ... */格式)中提取内容,生成 HTML 格式的 API 文档。
    • 示例:javadoc HelloWorld.java → 生成文档文件夹。
  4. jar

    • 含义:Java 归档工具(Java Archive)。
    • 功能:将多个.class 文件、资源文件打包成.jar文件(类似压缩包),方便分发和运行(如一个 Java 程序可能包含多个.class,打包后只需传输一个.jar)。
    • 示例:jar cvf MyApp.jar *.class → 将所有.class 打包成 MyApp.jar。
  5. jdb

    • 含义:Java 调试器(debugger)。
    • 功能:用于调试 Java 程序(设置断点、查看变量、单步执行等)。不过实际开发中更多用 IDE(如 IDEA)的图形化调试工具,较少直接用命令行 jdb。

记忆方法
通过指令中的 “关键词” 联想功能:

  • javac:c = compile(编译)→ 编译源文件;
  • java:直接对应 “运行 Java”;
  • javadoc:doc = document(文档)→ 生成文档;
  • jar:archive(归档)→ 打包文件;
  • jdb:db = debugger(调试器)→ 调试程序。

三、一些其他概念

  1. 字节码(Bytecode)

    • 含义:.java 文件经javac编译后生成的中间代码(.class 文件内容)。
    • 特点:不是机器码(不能直接被 CPU 执行),但能被 JVM 识别并执行,是 Java 跨平台的关键(“一次编译,到处运行” 的中间载体)。
  2. .java 文件 vs .class 文件

    • .java:Java 源文件,开发者编写的代码(人类可读)。
    • .class:编译后的字节码文件(JVM 可读),不可直接修改(除非反编译)。
  3. Java 三大平台

    • Java SE(Standard Edition,标准版):基础平台,包含核心类库(如集合、IO、多线程等),是其他平台的基础,用于开发桌面应用或简单程序。
    • Java EE(Enterprise Edition,企业版):在 SE 基础上扩展,用于开发企业级应用(如网站、分布式系统),包含 Servlet、JSP、数据库连接等技术。
    • Java ME(Micro Edition,微型版):针对嵌入式设备(如手机、智能家电)的简化版,现已逐渐被 Android 替代。
  4. IDE(Integrated Development Environment,集成开发环境)

    • 含义:集成了代码编辑、编译、调试、运行等功能的工具,简化开发流程。
    • 常用工具:IntelliJ IDEA(主流)、Eclipse、NetBeans 等。
  5. 类库(Class Library)

    • 含义:Java 官方或第三方提供的预定义类和方法的集合(如java.util包的工具类、java.io的输入输出类),开发者可直接调用,无需重复编写。
  6. JIT 编译器(Just-In-Time Compiler,即时编译器)

    • 含义:JVM 的一部分,会将频繁执行的字节码实时编译为机器码(直接被 CPU 执行),提高程序运行效率(字节码解释执行较慢,JIT 优化后速度接近原生程序)。

记忆方法

  • 字节码:“中间翻译官”—— 介于.java(人类写)和机器码(CPU 读)之间;
  • 三大平台:SE(基础款)、EE(企业款)、ME(迷你款);
  • JIT:“即时优化器”—— 让 JVM 执行更快的 “加速器”。

四、总结核心逻辑链

开发 Java 程序的流程:
编写.java源文件 → 用javac编译 → 生成.class字节码 → 用java指令启动JVM → JVM 执行字节码(依赖JRE的类库)。
整个过程中,开发者需要JDK(因为包含javac等工具),而用户只需JRE即可运行程序。

如果我的内容对你有帮助,请点赞,评论,收藏。接下来我将继续更新相关内容!

http://www.dtcms.com/a/325760.html

相关文章:

  • 15. xhr 对象如何发起一个请求
  • VSCode右键菜单消失,修复VSCode右键菜单
  • raid10 允许最多坏几块磁盘,如何修复阵列?
  • lesson35:数据库深度解析:从概念到MySQL实战学习指南
  • 如何使用 Watchtower 实现定时更新 docker 中的镜像并自动更新容器(附 schedule 的参数详细解释)
  • 升级 ChatGPT 提示“您的银行卡被拒绝了”或者“您的信用卡被拒绝了。请尝试用借记卡支付。“如何解决?
  • FPGA+护理:跨学科发展的探索(二)
  • CVPR 2025 | 即插即用,极简数据蒸馏,速度up20倍,GPU占用仅2G
  • 【数字图像处理系列笔记】Ch09:特征提取与表示
  • YOLOv8 训练报错:PyTorch 2.6+ 模型加载兼容性问题解决
  • GPT-5 现已上线 DigitalOcean Gradient™ AI 平台!
  • 数据大集网:精准获客新引擎,助力中小企业突破推广困局
  • UKB-GWAS资源更新
  • C++ 检测 IPv4 和 IPv6 地址合法性
  • 朝花夕拾(一)-------布尔掩码(Boolean Mask)是什么?
  • npm install报错~[master] npm install npm error code ERESOLVE npm err
  • Redis 数据倾斜
  • 触想定制化工业一体机化身渔业预警终端,守望渔船安全
  • 验证二叉搜索树
  • (Arxiv-2025)Phantom:通过跨模态对齐实现主体一致性视频生成
  • 如何安装 Git (windows/mac/linux)
  • CodeBuddy IDE完全食用手册:从安装到生产力爆发的技术流解剖
  • 训推一体 | 暴雨X8848 G6服务器 x Intel®Gaudi® 2E AI加速卡
  • Android Audio实战——获取活跃音频类型(十五)
  • 2025 年国内可用 Docker 镜像加速器地址
  • 【深度学习3】向量化(Vectorization)
  • SpringUI Axure元件库:重塑高效原型设计的专业工具集
  • Agent在供应链管理中的应用:库存优化与需求预测
  • 从ELF到进程间通信:剖析Linux程序的加载与交互机制
  • QT之键盘控制虚拟遥控系统开发总结