sdk、jdk、jre的区别

一下子就弄懂JDK、JRE、JVM和SDK到底是什么了 文章目录总结官方解释 总结 JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。 在JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。 JRE(Java Runtime Environment,Java运行环境),包含JVM标准实现及Java核心类库。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试 阅读详情
<a target=_blank href="http://blog.youkuaiyun.com/hx_uestc/article/details/7220625">http://blog.youkuaiyun.com/hx_uestc/article/details/7220625</a>
一、JDK与jre
简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。 
JDK就是Java Development Kit 
JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。 

如果安装了JDK,会发同你的电脑有两套JRE,一套位于 \jre 另外一套位于 C:\Program Files\Java\j2re1.4.1_01 目录下,后面这套比前面那套少了Server端的Java虚拟机,不过直接将前面那套的Server端Java虚拟机复制过来就行了。而且在安装JDK可以选择是否安装这个位于 C:\Program Files\Jav a 目录下的JRE。如果你只安装JRE,而不是JDK,那么只会在 C:\Program Files\Java 目录下安装唯一的一套JRE。 

JRE的地位就象一台PC机一样,我们写好的 Win32应用程序需要操作系统帮我们运行,同样的,我们编写的Java程序也必须要JRE才能运行。所以当你装完JDK后,如果分别在硬盘上的两个不同地方安装了两套JRE,那么你可以想象你的电脑有两台虚拟的Java PC机,都具有运行Java程序的功能。所以我们可以说,只要你的电脑安装了JRE,就可以正确运行Jav a应用程序。 

1、为什么Sun要让JDK安装两套相同的JRE?这是因为JDK里面有很多用Java所编写的开发工具(如javac.exe、jar.exe等),而且都放置在 \lib\tools.jar 里。从下面例子可以看出,先将tools.jar改名为tools1.jar,然后运行javac.exe,显示如下结果: Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac /Main 这个意思是说,你输入javac.exe与输入 java -cp c:\jdk\lib\tools.jar com.sun.tools.javac.Main 是一样的,会得到相同的结果。从这里我们可以证明javac.exe只是一个包装器(Wrapper),而制作的目的是为了让开发者免于输入太长的指命。而且可以发现\lib目录下的程序都很小,不大于2 9K,从这里我们可以得出一个结论。就是JDK里的工具几乎是用Java所编写,所以也是Java应用程序,因此要使用JDK所附的工具来开发Java程序,也必须要自行附一套JRE才行,所以位于C:\Program Files\Java目录下的那套JRE就是用来运行一般Java程序用的。 

2、如果一台电脑安装两套以上的JRE,谁来决定呢?这个重大任务就落在java.exe身上。Java.exe的工作就是找到合适的JRE来运行 Java程序。 Java.exe依照底下的顺序来查找JRE:自己的目录下有没有JRE;父目录有没有JRE;查询注册表: [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment] 所以java.exe的运行结果与你的电脑里面哪个JRE被执行有很大的关系。 

3、介绍JVM JRE目录下的Bin目录有两个目录:server与client。这就是真正的jvm.dll所在。 jvm.dll无法单独工作,当jvm.dll启动后,会使用explicit的方法(就是使用Win32 API之中的LoadLibrary()与GetProcAddress()来载入辅助用的动态链接库),而这些辅助用的动态链接库(.dll)都必须位于jvm.dll所在目录的父目录之中。因此想使用哪个JVM,只需要设置PATH,指向JRE所在目录底下的jvm.dll。
二、SDK与JDK
SDK是Software Development Kit的缩写,中文意思是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。SDK是一系列文件的组合,它为软件的开发提供一个平台(它为软件开发使用各种API提供便利)。

JDK(Java Development Kit,Java开发工具包)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。
可以认为jdk只是sdk的一种(子集),因为它是开发java程序的一个平台,开发其他程序的sdk可以没有jdk。
比如你下载了一个软件开发平台 eclipse-SDK-3.2.2-win32.zip,它本身里面是没有jdk的。
但是只要开发java程序就必须使用jdk(javaee和javase)。

我来打个比方吧:
SDK就像一台机床(它可以是多用途的),它可以生产ABC等工件;
当我们要生产A时,就给机床换上生产A的刀具a;
当我们要生产B时就换上生产B的刀具b;
当我们要生产C时就换上生产C的刀具c;
当我们要用机床(SDK)生产java程序时,我们就给机床换上刀具jdk,于是就把安装了jdk的SDK叫做java SDK.
JavaEE是专门为企业级应用提供的一个开发工具包,它里面已经包含了许多开发企业级应用所需要的“组件”,它为J2EE的开发提供了一个便利的开发平台,所以它就直接叫JavaEE SDK了。
不知道说明白了没有,都是些概念性的东西,其实你也可以理解jdk就是java SDK。
三、JDK版本
<pre class="reply-text mb10" id="best-answer-content" name="code" style="white-space: pre-wrap; word-wrap: break-word;">jdk1.0
jdk1.1
jdk1.2
jdk1.3
jdk1.4
jdk1.5(改为jdk5.0)代号:Tiger,老虎(这个版本进步是巨大的,可是版本号显示不出来。。于是改版本号为5.0)
jdk6.0 代号:Mustang,野马
jdk7.0 代号:Dolphin,海豚
从JDK1.5以后,SUN公司把它改名为J2SE5,主要是SUN感觉1.5的改进较大

只从1.4到1.5人足以说明改进的幅度,所以以后的就叫JDK5 JDK6了

并没有JDK4的~~
四、java ee SDK与java se jdk
 
 
一般而言,前者不包括后者,如果要使用JDK6.0的功能,需要再次安装JDK6.0
SDK、JDK、JRE的区别 原文地址:http://blog.youkuaiyun.com/hx_uestc/article/details/7220625 一、JDK与jre 简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。 JDK就是Java Development Kit JRE是Ja 阅读详情

相关推荐

Java SDK安装及配置流程详解

Java Software Development Kit (SDK) 是开发者用来构建Java应用程序和applets的开发环境。它包含了编写、编译、测试和部署Java应用所需的一系列工具,包括Java运行时环境(JRE)、Java虚拟机(JVM)和编译器(javac)。Java SDK是开发Android应用和企业级应用的核心组件。Android SDK(Software Development Kit)是为Android平台开发应用程序的官方开发工具包。

weixin_33431149的博客 3029

Java开发SDK详解

1)首先我们开发一下服务端: 服务端是一个SpringBoot项目提供了一个用户列表查询的接口。入参包含调用方分唯一编号(appId),加密的入参信息(data),入参的加解密方式使用RSA非对称加密算法。2)其次开发SDK: SDK是一个普通的maven项目,提供用户列表查询接口的Http调用方法,还有接口的参数校验,入参的加密,返回信息的解密。最后将项目打成jar包。3)最后开发客户端调试: 客户端是一个SpringBoot项目,项目中引入上面打包好的SDK,组装参数,调用用户列表查询接口。

askuld的博客 1万+

FPGA—ZYNQ_BD Block Design学习(一)

1.第一步:打开Vivado软件,创建或打开一个工程。2.第二步:在Block Design中添加arm核心,并将其配置为IP核。3.第三步:配置arm核心的外设信息,如DDR接口、时钟频率、UART接口等。4.第四步:完成Block Design中的模块互联,生成PL端的比特流。 5.第五步:导出PS端的硬件信息,包括arm IP核的外设、速度、引脚和地址等信息。1创建bd 需要有ddr以及uart和时钟配置外设io口,这里就是zynq的管脚规定好的,根据原理图用哪个个勾选哪一个。 对外设uart的配

m0_58129662的博客 1029

JAVA SDK下载

1.找到下载好的文件 jdk-20_windows-x64_bin.exe。5.1在Path中添加%JAVA_HOME\BIN。5.在系统变量中找到Path,并修改Path的值。5.2注意 Path中的字段是以;3.在环境变量中,找到系统变量 >点击新建。6.2输入 java -version ,2.下载SDK,以window为例,如图。1.选中我的电脑(计算机),右键选择属性。4.1 变量名是 JAVA_HOME。4.安装可使用默认路径或自定义路径。JAVA SDK安装成功!一、登录官网,下载SDK。

weixin_44464552的博客 4617

Ubuntu22.04安装ROS2 —— ROS2 humble 详细图文教程

本文详细介绍了如何在Ubuntu22.04(Jammy)系统下配置ROS2环境,安装RO2软件包,并验证安装成功。ROS2的版本是Humble Hawksbill。:ROS是一个开源的,提供硬件抽象、设备驱动、库、工具和通信机制,支持模块化开发与集成,广泛用于机器人控制和自动化应用。ROS2 相较于 ROS1 在架构设计、通信机制和平台支持等方面做出了改进。ROS1 采用集中式主节点(Master)进行节点间通信,存在单点故障风险,且实时性和跨平台支持较弱。

weixin_49649078的博客 8819

第055篇:陆地观测卫星数据服务平台高级检索方法

检索数据检索到肩膀疼,这谁能信?谁能?

liujinli0712的博客 7823

简单解释一下SDK、JDK、JRE、JVM之间的区别以及联系

一、JDK与JRE 简单的说: JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。 SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。 JDK就是Java Development Kit JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。 如果...

C_TestMG的博客 1807

基于vivado实现FFT/IFFT

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、实现的功能二、配置1.调用DDS的IP核2.调用FFT的IP核三、结果分析1.调用DDS的IP核2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、实现的功能 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任

qq_45600102的博客 1万+

JDK |SDK |JRE 的区别

转自:【JVM与性能调优】JDK入门知识,别再说你分不清JRE、JDK、SDK三者的区别了_jdk sdk-优快云博客

lklalmq的博客 398

基于GEC6818开发板的C/C++贪吃蛇小游戏

f.开始游戏(进入游戏,并没有马上开游戏,需要点击播放才能开始)2.相关宏,全局变量(可以根据自己需要进行修改)k.显示文字前的相关初始化。k.自定义font.h文件。1.需要的主要头文件。l.在开发板上显示字1。m.在开发板上显示字2。a.显示固定大小图片。h.线程1:获得坐标。

2301_77273301的博客 2133

【RDMA】13. RDMA之用户态与内核态交互

原文:https://zhuanlan.zhihu.com/p/346708569 在“RDMA之Verbs”一文中我们说道,Verbs API分为用户态和内核态,分别以ibv_和ib_作为前缀。RDMA技术的最大的优势就在于用户态可以绕过内核,直接控制硬件收发数据,减少了系统调用和内存拷贝次数,所以大部分的RDMA应用都是用户态应用,即使用以ibv_为前缀的用户态Verbs API。 但是并非所有的用户态Verbs API都可以完全绕开内核,本文中我来讲解一下哪些API依赖于内核RDMA子系统(包括驱

我的笔记本 4285

SDK、JDK、JRE、JVM的区别

SDK、JDK、JRE、JVM的区别与联系

记录和分享属于我的“IT”时光。 875

南 京 农 业 大 学 试 题 纸 附表(rape.csv)是25个油菜材料,测得每个材料的千粒重、亚油酸等的含量. (1) 对物质含量的八个指标作主成分分析,画出碎石图和主成分得分图; (2) 选

(1)请用n1

Mrrunsen的博客 498

SDK、JDK、JRE、JVM、JDT、CDT等之间的区别与联系

相信大多数java初学者被这些概念搞蒙过,它们之间到底有什么区别,又有什么联系呢?下面我将一一解开大家心中的谜团。   首先,给大家解释一下这些概念: 1、SDK(Software DevelopKit,软件开发工具包) 用于帮助开发人员的提高工作效率。各种不同类型的软件开发,都可以有自己的SDK。Windows有WindowsSDK,DirectX 有 DirectX 9SDK,.N

梦想起飞的地方,必须用心去经营 1万+

[AI] 嵌入模型选择:bge / text-embedding-3 / Jina Embeddings 对比与选型指南

摘要: 本文对比了BGE-M3、OpenAI和Jina三种主流嵌入模型在语言覆盖、性能、延迟、维度和成本等维度的差异。BGE-M3适合中文场景,本地部署成本低;OpenAI API多语能力强但依赖网络;Jina在多语表现突出但需关注商用许可。测试显示BGE-M3本地延迟3-6ms,OpenAI API延迟200-600ms。选型建议:隐私场景选BGE本地部署,多语低维护选OpenAI,高精度选Jina。部署时需注意批处理优化、向量库压缩和商用许可等问题,建议建立评测指标并监控关键指标。

每日出拳老爷子的博客 428

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

JDK,SDK,JRE之间的区别

一、JDK与jre简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。 JDK就是Java Development Kit JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。 如果安装了JD

wangkaiming123456的专栏 598

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

文件 jre_JDK、JRE、JIT、SDK、JVM的区别

JDK(Java Development Kit 开发工具包)JDK(java development kit)是JRE(Java运行时环境)的超集,它包含JRE所拥有的一切以及编译器、调试器等开发工具。JRE(Java运行时环境)JRE(Java运行时环境)提供JVM(Java虚拟机)运行的环境。JRE包含JVM、类库和其他文件,不包括编译器和调试器等开发工具。这意味着,您可以在JRE中运行代码...

weixin_29871753的博客 149

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

JDK、JRE、JIT、SDK、JVM的区别你是否了解?

JDK(Java Development Kit 开发工具包) JDK(java development kit)是JRE(Java运行时环境)的超集,它包含JRE所拥有的一切以及编译器、调试器等开发工具。 JRE(Java运行时环境) JRE(Java运行时环境)提供JVM(Java虚拟机)运行的环境。JRE包含JVM、类库和其他文件,不包括编译器和调试器等开发工具。 这意味着,您可以在JRE中运行代码,但不能在JRE中开发和编译代码。 JVM(Java虚拟机) JVM(J..

weixin_50205273的博客 544
上一篇: SpringMVC + Spring + SpringJDBC整合
下一篇: 从0到J2EE -- Java 学习历程
lcathm
博客等级 码龄18年 37粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值