对于java初学者来说,往往不懂区分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。
相关推荐
从零到一:STM32G431的DSP库集成与FFT实战避坑指南
本文详细介绍了在STM32G431微控制器上集成CMSIS-DSP库并进行FFT实战开发的完整流程。重点解析了通过CubeMX和Keil环境配置DSP库的关键步骤、编译器宏定义陷阱及解决方案,并提供了FFT算法优化、内存管理及常见问题诊断的实用技巧,帮助开发者高效实现嵌入式信号处理应用。
java内存溢出
<br />核心提示:原因有很多种,比如: 1.数据量过于庞大;死循环 ;静态变量和静态方法过多;递归;无法确定是否被引用的对象; 2.虚拟机不回收内存(内存泄漏); 说白了就是程序运行要用到的内存大于虚拟机能提供的最大内存就发生内存溢出了。 内存溢出的问题要看业务和系 原因有很多种,比如:<br />1.数据量过于庞大;死循环 ;静态变量和静态方法过多;递归;无法确定是否被引用的对象;<br /> 2.虚拟机不回收内存(内存泄漏);<br /> 说白了就是程序运行要用到的内存
Decoder如何工作、Transformer如何训练、以及exposure bias问题
1、结合图文描述Decoder中各个模块是什么,以及是如何工作的。2、transformer是如何训练的。3、exposure bias问题造成的原因及解决方法
C语言实现9*9乘法口诀表
在屏幕上输出9*9乘法口诀表——C语言
第四章、Isaacsim在GUI中构建机器人(3):添加摄像头和传感器
本节。
【学习体会】Lighttools8.4.0:简单光学系统实例
添加球型光源(SphereSource)和表面接收器: 对光线模拟的参数进行设置: 光线追踪-模拟输入 要追踪的光线总数,决定模拟的准确度,总数越多,准确度越高,当然耗时更多 预览光线数量是模拟之后可以看到的示意光线(黑线),一般是100~1000,随意设置 点击,开始模拟: (模拟结果) 如果光线太多,则会出现,可以看到剩余时间 照度分析: 分析-照度显示-光栅图表 ...
ExtJS 4 组件详解
欢迎加入我的ExtJS交流群 – 透视ExtJS 群号 256700289 入群暗号 Zen ExtJS 4 的应用界面是由很多小部件组合而成的,这些小部件被称作“组件(Component)”,所有组件都是Ext.Component的子类,Ext.Component提供了生命周期管理包括初始化、渲染、大小和尺寸管理、销毁等功能,这使得所有Ext.Component的子类都自动分享了这些能力。
量化爬虫第一步:手把手教你搞定同花顺问财的hexin-v参数(附JS逆向实战)
本文详细介绍了如何通过JS逆向技术破解同花顺问财数据接口的核心加密参数hexin-v,构建稳定可靠的量化数据采集方案。从抓包分析到Cookie Hook技术应用,再到环境补全与参数生成实现,手把手教你完成量化爬虫的第一步。文章还提供了实战注意事项与优化建议,帮助开发者规避常见问题。
oracle临时表
1、临时表 ORACLE临时表分为基于会话和基于事务的两种临时表 临时表上可以创建索引,临时表上的数据操作不会产生重执行信息 ON COMMIT DELETE ROWS---------------默认 基于事务的 提交后数据清空 ON COMMIT preserve rows------------------基于会话的会话结束数据清空 下面举例创建临时表: crea
保姆级教程如何进行本地局域网布署openclaw小龙虾
全网唯一一篇一步步实战教程,图文并茂方式的方式教你如何本地部署安装小龙虾openclaw
R语言分布式滞后非线性模型DLNM实战:空气污染与健康数据的动态效应可视化与政策启示
本文详细介绍了R语言中分布式滞后非线性模型(DLNM)的应用,特别关注空气污染与健康数据的动态效应可视化。通过dlnm包实现PM2.5等污染物的滞后效应分析,提供从数据预处理、模型构建到结果可视化的完整流程,并探讨了其在公共卫生政策制定中的实际应用价值。
请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可
这是一个很好的算法 在leetcode 也曾出现,今天我们详细分析一下: 题目简介: /** * 请你判断一个9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 * * 数字1-9在每一行只能出现一次。 * 数字1-9在每一列只能出现一次。 * 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。(请参考示例图) * * 注意: * 一个有效的数独(部分已被填充)不一定是可解的。 * 只需要根据以上规则,验证已经填入的数字是...
句向量(句嵌入)模型sent2vec的训练及应用
本文讨论NLP中的句向量模型(sent2vec),也就是将一个完整的句子映射成一个实数向量的技术。这方面已经发表的成果也是比较多的,本文中所涉及的技术主要源自NAACL 2018的一篇论文,其中提出的sent2vec模型可以理解为词嵌入技术中经典的CBOW方法的扩展,该所谓的扩展中一个重要改进就是引入了n-gram
大杂烩 Classpath / Build path / Debug关联源码 / JDK&JRE区别
Classpath的理解及其使用方式 原文地址:http://blog.youkuaiyun.com/wk1134314305/article/details/77940147?from=bdhd_site 摘要: classpath是Java运行时环境搜索类和其他资源文件(比如jar\zip等资源)的路径。 主要有两种设置classpath的方式: (1)通过jdk的命令行来为...
IMSL CNL 7.0.0 (x86-64)Crack
IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
jdk&jre
1. 定义 JRE(Java Runtime Enviroment)是Java的运行环境。面向Java程序的使用者,而不是开发者。如果你仅下载并安装了JRE,那么你的系统只能运行Java程序。JRE是运行Java程序所必须环境的集合,包含JVM标准实现及 Java核心类库。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。 JDK(Java De...
IEM模型,地表粗糙度模拟
利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟
【003】Java语言(JDK&JRE)
1.什么是JRE、JDK? (1)JRE(Java Runtime Environment Java运行环境):包括Java虚拟据(JVM Java Virtual Machine)和Java程序所需要的核心类库; (2)JDK(Java Development Kit Java开发工具包):即包含了Java的开发工具,也包括了JRE; 简化理解: JRE=JVM+类库
最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版
Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。
Java基础02_JDK&JRE下载安装及环境配置
JDK是Java开发工具包,包含JRE和开发工具(如编译器、打包工具等);JRE是Java运行环境,包含JVM和核心类库。JDK8安装建议修改默认路径,配置环境变量需设置JAVA_HOME、CLASSPATH和Path。测试时输入"java -version"显示版本号即配置成功。开发需安装JDK,仅运行程序只需JRE。
1.3-Java语言(JDK&JRE)
1.3 Java语言的环境搭建 明确什么是JRE,JDK 下载JDK 安装JDK 配置环境变量 验证是否成功 1.3.1 什么是JRE,JDK? JRE(Java Runtime Environment Java运行环境)包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只要安装JRE即
【深入理解Java虚拟机】走进Java:JDK&JRE
1.JDK JDK=Java程序设计语言+Java虚拟机+Java类库 JDK是用于支持Java程序开发的最小环境。 2.JRE JRE=Java类库API中的Java SE API子集+Java虚拟机 JRE是支持Java程序运行的标准环境。
Java相关环境配置(1)----JDK&JRE
知识积累 1. jdk是什么? JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。 JDK就是Java Development Kit 2. jre是什么? JRE是Java Runtime Enviroment是指Java的运行环境,是面向
java学习开发环境的构建
为了在windows7主题包下使用matlab7.1软件,得知要下载最新的java软件,搞了大半天,还是搞不出,事实上,因为java软件本身安装就有问题. 并且,反正两个软件都得安装,所以 ,希望一次性解决两个问题. java安装软件由两大部分组成:JDK 和JRE jre 是用 在浏览器上的。。。。。。。。 jdk1.6.0_10 是用来开发用的,如果你只想浏览网页用的话,没必要安装,如果...
js转义特别符号
不用转,提交时加个编码即可,你获取str的时候给它编码一下就行了 var str=document.getElementById("ID").value; str = encodeURIComponent(str); 就上面这两句,你的replace啊什么的全都不用要,这个encodeURIComponent自会把所有特殊字符转义
莫尔斯密码
<br />莫尔斯电码由点(.)、划(-)两种符号按以下原则组成:<br />1,一点为一基本信号单位,每一划的时间长度相当于3点的时间长度。<br />2,在一个字母或数字内,各点、各划之间的间隔应为两点的长度。<br />3,字母(数字)与字母(数字)之间的间隔为7点的长度。<br />A .-B -...C -.-.D -..E .F ..-.G --.H ....I ..<br />J .--- K -.-L .-..M --N -.O ---P .--.Q --.-R .-.S ...T -U .
ExtJS 4 表单
Form Panel表单面板就是普通面板Panel增加了表单处理能力。表单面板可以用在任何需要收集用户提交数据的地方。表单面板可以使用Container Layout提供的最简单的拜访表单控件的方式。表单面板可以和Model绑定,以方便加载和保存数据。其实表单面板包裹了Basic Form组件,Basic Form负责处理所有表单控件的管理,校验,提交和加载数据。这意味着所有Basic
9x9九宫格java_数独9x9九宫格的口诀 9×9数独技巧
数独9x9九宫格的口诀为中间为五,二四为肩, 六八为足,上九下一,左七右三。简单来说,就是将图片上的九个格子,想象成是一个站立着的人,有两肩,两足,还有上中下,左右。数独9x9九宫格的技巧1、公式法这个游戏既然是数学智力拼图游戏,那么结合上数学公式,起步事半功倍:就个数字中,以最中间的数字为中心,斜起是n-1,n。n=1,使得每行数的和是3n。2、口诀法九宫格的要求是在上面填写的数字,做到行,列,...
2023-07-12力扣今日二题
然后由于要找最大的,所以正在判断的尺寸k设置为从ans开始,低于ans的k没有意义。由于幻方肯定存在1成立(即单个格子),所以设置ans默认为1。做一下行、列、对角线的前缀,然后暴力就行。尺寸k的幻方,需要内部。尺寸很小,50*50,
768



被折叠的 条评论
为什么被折叠?



