[JAVA学习] JDK与JRE的区别

article/2025/10/1 13:42:38

最近在学习Python,安装Python IDE ——PyCharm,提示未安装Jave Run Time,于是到Oracle官网下载Jave安装包,发现有JDK和JRE两个版本。

JRE是Java Runtime Environment的缩写,顾名思义是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的,还有所有的Java类库的class文件,都在lib目录下,并且都打包成了jar。

至于在Windows上的虚拟机是哪个文件呢?就是<JRE安装目录>/bin/client中的jvm.dll。

                                                            (注:jre的版本不同存放 jvm.dll 的包名也有所不同)

 

Jdk是Java Development Kit的缩写,顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。

如果你需要运行java程序,只需安装JRE就可以了。如果你需要编写java程序,需要安装JDK。

下面讲解下 jdk环境配置以及安装完成jdk验证是否安装完成:

  • 点击我的电脑->属性->高级系统设置->环境变量

      

  • JAVA_HOME变量设置,在系统变量中点击【新建】,变量名处输入“JAVA_HOME”,变值处输入:\java\jdk”,如下图,点击【OK】。这里的变量值就是我们JDK的安装目录。

    

  • 系统变量寻找 Path 变量编辑在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)

      

  • 系统变量新建 CLASSPATH 变量

    变量值填写   .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)

        

  • 检验是否配置成功 运行cmd 输入 java -version java -version 之间有空格)若如图所示 显示版本信息 则说明安装和配置成功。

     

 

   总结:简单来说,JRE可以支撑Java程序的运行,包括JVM虚拟机(java.exe等)和基本的类库(rt.jar等),JDK可以支持Java程序的开发,包括编译器(javac.exe)、开发工具(javadoc.exejar.exekeytool.exejconsole.exe)和更多的类库(如tools.jar)等。

 


http://chatgpt.dhexx.cn/article/Ah2leHTF.shtml

相关文章

JDK、JRE的区别?以及相关面试题

1.JDK和JRE是java面试的基本问题。 下图是它们的直观区别&#xff0c;可从它们的面向对象、主要作用和组成部分三方面对比。其详细如下图所示&#xff1a; 2.JDK就是Java Development Kit 的英文缩写。 1). 主要面向开发人员。开发人员在软件开发时使用的SDK&#xff08;Soft…

eclipse配置jdk,jdk与jre的区别

由于某些原因&#xff0c;需要重新安装eclipse&#xff0c;当然jdk和tomcat也要重新配置&#xff0c;于是发现eclipse居然自带一个jre 了解jre和jdk 那jdk是干啥的呢我看我安装的jdk文件夹里有两个文件夹呵呵呵呵。 搜了一下原来&#xff1a;JRE(Java Runtime Enviroment)是Jav…

JDK和JRE的区别和联系

大家应该都知道JDK和JRE是什么的缩写&#xff0c;但是当面试官问道 “请用你所学的java知识&#xff0c;告诉我JDK是干什么的&#xff1f;” &#xff0c; “JRE有什么作用&#xff1f;” &#xff0c; “这两者有什么区别和联系&#xff1f;” 等问题时&#xff0c;可能就说的…

JDK和JRE的区别

JDK是 Java 语言的软件开发工具包(SDK)&#xff0c;主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心&#xff0c;它包含了JAVA的运行环境&#xff08;JVMJava系统类库&#xff09;和JAVA工具&#xff08;在JDK的安装目录下有一个jre目录&#xff0c;里…

Java一步到位!彻底了解JDK、JRE、JVM分别是什么及它们之间的联系

大多数人刚接触Java的时候都会经常看到JDK、JRE、JVM&#xff0c;但可能一直迷迷糊糊&#xff0c;不知道它们之间真正的作用和含义&#xff0c;而了解JDK、JRE、JVM分别是什么及它们之间的关系有助于我们更加深刻的理解java语言的特性。 Java程序是运行在JVM(Java虚拟机)上的&…

JDK 和 JRE 有什么区别?

面向人群不同&#xff1a; JDK是面向开发人员使用的SDK。 JRE是Java Runtime Enviroment是指Java的运行环境&#xff0c;是面向Java程序的使用者。 重要程度不同&#xff1a; JRE的地位就象一台PC机一样&#xff0c;编写的Java程序必须要JRE才能运行。只要你的电脑安装了JRE&am…

JDK和JRE有什么区别?

1. JDK 1). JDK是Java Development Kit的缩写&#xff0c;是Java的开发工具包&#xff0c;主要面向开发人员。 2). JDK包含了JRE&#xff0c;同时还包含了编译java源码的编译器javac&#xff0c;还包含了很多java程序调试和分析的工具&#xff1a;jconsole&#xff0c;jvisual…

进程虚拟地址

在前面的章节中&#xff0c;我们主要关注的是内核的虚拟地址空间的管理。从本节开始&#xff0c;我们重点关注管理用户空间的方法&#xff0c;其中由于种种原因&#xff0c;这个比内核地址空间管理更复杂。本节主要围绕以下内容&#xff1a; 用户进程的虚拟地址空间是Linux的一…

【此后无良辰】 实验3 进程的创建

实验目的 了解操作系统中内核程序和应用程序之间的关系&#xff1b;了解操作系统创建进程的过程&#xff1b;掌握在应用程序中创建进程的方法。 实验内容与记录 3.1 复制SDK文件夹的目的是什么&#xff1f;尝试在复制后把本地所生成的EOS内核项目文件夹删除&#xff0c;应用…

Linux进程管理(二)进程调度

Linux进程管理 Linux进程管理&#xff08;一&#xff09;进程数据结构 Linux进程管理&#xff08;二&#xff09;进程调度 Linux进程管理&#xff08;三&#xff09;进程调度之主动调度 Linux进程管理&#xff08;四&#xff09;进程调度之抢占式调度 Linux进程管理&#…

c语言静态结构体指针变量,C语言 结构体和指针详解及简单示例

指针也可以指向一个结构体&#xff0c;定义的形式一般为&#xff1a; struct 结构体名 *变量名; 下面是一个定义结构体指针的实例&#xff1a; struct stu{ char *name; //姓名 int num; //学号 int age; //年龄 char group; //所在小组 float score; //成绩 } stu1 { "T…

多进程图像

多进程图像 1 多进程设计2 一个大概的设计思路3 一个实际的进程切换案例3.1 进程的创建 - fork函数3.2 进程的切换 - schedule函数3.3 进程状态转换图3.4 如何执行我们自己的代码 参考资料 所谓多进程图像就是&#xff1a;多道程序&#xff0c;交替执行。本章主要介绍操作系统为…

操作系统之进程创建与进程状态

一、进程的创建 阻塞状态&#xff1a;正在运行的进程由于某些原因调用阻塞原语把自己阻塞(如果不把自己阻塞的话会一直占用处理机&#xff09;,等待相应的事件出现后才被唤醒&#xff0c;事件完成回到就绪状态。 通常这种处于阻塞状态的进程也排成一个队列。有的系统则根据阻塞…

linux进程管理原理

Linux 是一种动态系统&#xff0c;能够适应不断变化的计算需求。 linux 计算需求的表现是以进程的通用抽象为中心的。进程可以是短期的&#xff08;从命令行执行的一个命令&#xff09;&#xff0c;也可以是长期的&#xff08;一种网络服务&#xff09;。因此&#xff0c;对进程…

进程系统调用——fork函数深入理解

转载 进程系统调用——fork函数深入理解 当我们在一个现代系统上运行一个程序的时候&#xff0c;我们会得到一个假象&#xff0c;就好像我们的程序是系统中当前运行的唯一程序。我们的程序好像是独占的使用处理器和存储器。处理器就是无间断的一条一条地执行我们程序中的指令。…

进程调度实验

一、实验目的 通过编写程序实现进程或作业先来先服务、高优先权、按时间片轮转调度算法&#xff0c;进一步掌握进程调度的概念和算法&#xff0c;加深对处理机分配的理解。了解进程&#xff08;线程&#xff09;的调度机制。学习使用进程&#xff08;线程&#xff09;调度算法…

基于C++实现的进程调度算法

资源下载地址&#xff1a;https://download.csdn.net/download/sheziqiong/85650672 一、问题描述与分析 1.1 设计构想 程序能够完成以下操作:选择调度算法;查看历史记录;创建进程;进程调度:进程创建完成后就选择进程调度算法&#xff0c;每次执行的结果都在屏幕上输出。 1…

短进程优先调度算法c语言spf,短进程优先的调度算法详解

短进程优先的调度算法详解 发布时间:2020-05-17 04:52:01 来源:51CTO 阅读:293 作者:张立达 一、SPF算法简介 SJF算法SJF(shortest job first)是以进程的运行时间长度作为优先级,进程运行时间越短,优先级越高。 SJF算法的缺点必须预知进程的运行时间。即使是程序员也很难…

进程调度算法(c语言)

对一个非抢占式多道批处理系统采用以下算法的任意两种&#xff0c;实现进程调度,并计算进程的开始执行时间,周转时间,带权周转时间,平均周转时间,平均带权周转时间 1.先来先服务算法 2.短进程优先算法 *3.高响应比优先算法 一、设计思想 每个进程有一个进程控制块&#xff08;…

进程的创建——fork函数

1. 进程的信息 进程的结构 在Linux中&#xff0c;一切皆文件&#xff0c;进程也是保存在内存中的一个实例&#xff0c;下图描述了进程的结构: 堆栈:保存局部变量数据段:一般存放全局变量和静态变量代码段:存储进程的代码文件TSS状态段:进程做切换时&#xff0c;需要保存进程现场…