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

article/2025/10/1 13:36:51

1.JDK和JRE是java面试的基本问题。
下图是它们的直观区别,可从它们的面向对象主要作用组成部分三方面对比。其详细如下图所示:

这里写图片描述
2.JDK就是Java Development Kit 的英文缩写。
1). 主要面向开发人员。开发人员在软件开发时使用的SDK(Software Development Kit 一般指软件开发包),它提供了Java的开发环境和运行环境。
2). 如果你电脑安装了JDK,那么你不仅可以开发**Java程序,也同时拥有了运行**Java程序的平台。
3). 是整个Java开发的核心,包括了Java运行环境,Java工具和Java基础类库。
3.JRE就是Java Runtime Enviroment的英文缩写。
1). 主要面向程序使用者。
2). 如果你电脑安装了JRE,那么你的电脑只能运行Java程序,不能从事Java开发。
3). 包含JVM标准实现及Java核心类库。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:console,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。
4. 补充
1). JRE是个运行环境,JDK是个开发环境。因此,开发程序时,写的Java程序就是在JDK上,而运行Java程序的时候,就 需要JRE。
2).JDK包含了JRE,但是,JRE可以独立安装的。
3). JDK、JRE、JVM的关系
这里写图片描述

5. 例子
1).Java程序在执行过程中用到一套JDK工具,其中java.exe是指(B)
A.Java文档生成器
B.Java解释器
C.Java编译器
D.Java类分解器
2).JDK安装目录下具有多个文件夹和一些网页文件,其中为java使用者提供的一些已经编好的范例程序的文件夹是(demo)
JDK安装目录下主要文件夹及文件功能:
(1)bin文件夹:提供JDK工具程序,包括javac、java、javadoc、appletviewer等可执行程序。
(2)demo文件夹:Sun公司为Java使用者提供给的一些已经编写好的范例程序。
(3)jre文件夹:存放Jaca运行环境文件。
(4)lib文件夹:存放Java的类库文件,即工具程序使用的Java类库。JDK中的工具程序大多也是由Java编写而成。
(5)include文件夹:存放用于本地方法的文件。
3).( A)称为JAVA开发包或JAVA开发工具,是一个写JAVA的Applet小程序和应用程序的程序开发环境。
A.JDK
B.JRE
C.JVM
4).(C )可以实现Java程序的跨平台运行。
A.JDK
B.JRE
C.JVM


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

相关文章

eclipse配置jdk,jdk与jre的区别

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

JDK和JRE的区别和联系

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

JDK和JRE的区别

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

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

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

JDK 和 JRE 有什么区别?

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

JDK和JRE有什么区别?

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

进程虚拟地址

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

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

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

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

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

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

指针也可以指向一个结构体,定义的形式一般为: struct 结构体名 *变量名; 下面是一个定义结构体指针的实例: 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 如何执行我们自己的代码 参考资料 所谓多进程图像就是:多道程序,交替执行。本章主要介绍操作系统为…

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

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

linux进程管理原理

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

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

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

进程调度实验

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

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

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

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

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

进程调度算法(c语言)

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

进程的创建——fork函数

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

C语言结构体

本节主要讲解下结构体的一些易错点和重要内容 结构体变量定义 (使用typedef起别名) 一般的结构体定义:定义类型变量 struct student {long stuID;char stuName[10];char stuSex;char birthYear;int mathScore; }stu1;可以用typedef取别…