想要入门 Java 开发,绕不开三个核心概念 ——JDK、JRE、JVM。这三者是 Java 程序从编写到运行的基础,更是 Java 实现 “一次编译,到处运行” 跨平台优势的关键。同时,Java 体系下的 SE、EE、ME 三大分支,也为不同开发场景划定了清晰的边界。今天就从 Java 体系架构出发,拆解 JDK、JRE、JVM 的定义、结构、区别与联系,讲透 Java 运行的底层逻辑。

一、jdk

javaSE: java核心 java团队开发出的java最基本的功能。java开发团队将最初研发的java基础知识点在网上开源,这样一些大牛会加入他们的开源社区这些大牛加入进来以后他们会对java不断地增加某些功能,封装某种功能,逐步形成javaEE和javaME.javaEE和javaME就相当于是javaSE的拓展功能。

javaEE:javaweb开发,与web相应的全套

javaME: android端的一些开发

二、jdk和jre

配置java环境变量的核心在于在任何路径下我们都可以运行java环境变量

java的运行流程。

0

三、认识JDK、JRE和JVM

JDK

JDK:Java Development Kit 是Java的标准开发工具包(普通用户只需要安装 JRE来运行 Java 程序。而程序开发者必须安装JDK来编译、调试程序)。它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行环境JRE,以及常用的Java基础类库等,是整个JAVA的核心。

0

bin文件里面存放了JDK的各种开发工具的可执行文件,主要的是编译器(javac.exe)

db文件是一个先进的全事务处理的基于Java技术的数据库(jdk自带数据库db的使用)

include文件里面是Java和jvm交互用的头文件

jre为java运行环境

lib文件存放的是JDK工具命令的实际执行程序

JRE

JRE:Java runtime environment 是运行基于Java语言编写的程序所不可缺少的运行环境,用于解释执行Java的字节码文件。

也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。与大家熟知的JDK不同,JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。

0

bin里的就是JVM

lib中则是JVM工作所需要的类库,而JVM和 lib合起来就称为JRE

JVM

JVM:Java Virtual Machine 是Java的虚拟机,是JRE的一部分。它是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,是可运行java字节码文件的虚拟计算机。

所有平台的上的JVM向编译器提供相同的接口,而编译器只需要面向虚拟机,生成虚拟机能识别的代码,然后由虚拟机来解释执行。

四、认识JDK、JRE、JVM的区别和联系

0

五、java的跨平台优势

不同的操作系统上有不同的虚拟机,JVM屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。在某个操作系统平台上,开发,编译出来的字节码文件,可以在其他的操作系统平台上运行。

在不同的操作系统平台上,安装了对应操作系统的不同版本的jvm虚拟机(java的运行容器)。不同版本的虚拟机,在不同的操作系统平台上,营造出来的运行环境是一样的,所以具备了跨平台性

0

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐