JDK:Java Development Kit,简单的说是面向开发人员的SDK,JDK提供了Java的开发环境和运行环境
JRE:Java Runtime Environment,是指Java运行环境,面向的是Java程序的使用者,而不是开发者
Jre 是java runtime environment, 是java程序的运行环境。既然是运行,当然要包含jvm,也就是大家熟悉的虚拟机啦, 还有所有java类库的class文件,都在lib目录下打包成了jar。大家可以自己验证。至于在windows上的虚拟机是哪个文件呢? jre/bin/client里面是不是有一个jvm.dll呢?那就是虚拟机。
Jdk 是java development kit,是java的开发工具包,里面包含了各种类库和工具。当然也包括了另外一个Jre. 那么为什么要包括另外一个Jre呢?而且jdk/jre/bin同时有client和server两个文件夹下都包含一个jvm.dll。 说明是有两个虚拟机的。这一点不知道大家是否注意到了呢?
相信大家都知道jdk的bin下有各种java程序需要用到的命令,与jre的bin目录最明显的区别就是jdk下才有javac,这一点很好理解,因为 jre只是一个运行环境而已。与开发无关,正因为如此,具备开发功能的jdk自己的jre下才会同时有client性质的jvm和server性质的 jvm, 而仅仅作为运行环境的jre下只需要client性质的jvm.dll就够了。
记得在环境变量path中设置jdk/bin路径麽?这应该是大家学习Java的第一步吧, 老师会告诉大家不设置的话javac和java是用不了的。确实jdk/bin目录下包含了所有的命令。可是有没有人想过我们用的java命令并不是 jdk/bin目录下的而是jre/bin目录下的呢?不信可以做一个实验,大家可以把jdk/bin目录下的java.exe剪切到别的地方再运行 java程序,发现了什么?一切OK!
那么有人会问了?我明明没有设置jre/bin目录到环境变量中啊?
试想一下如果java为了提供给大多数人使用,他们是不需要jdk做开发的,只需要jre能让java程序跑起来就可以了,那么每个客户还需要手动去设置环境变量多麻烦啊?所以安装jre的时候安装程序自动帮你把jre的java.exe添加到了系统变量中,验证的方法很简单,去Windows/system32下面去看看吧,发现了什么?有一个java.exe。
分享到:
相关推荐
用这个包,这个包是绕过系统按验证,然后重新生成的的包,下载后直接安装就能,本人亲测有效,我的系统是mac ox 10.13.1
JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11...
jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助...
mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk...
标题中的“jdk1.6集成jjwt的问题”指的是在Java Development Kit (JDK) 版本1.6的环境下,尝试整合JSON Web Token (JWT) 库jjwt时遇到的挑战。JWT是一种开放标准(RFC 7519),用于在各方之间安全地传输信息作为 ...
jdk7 jdk8 jdk9 jdk10 jdk11 jdk12 jdk13 jdk14 (win-64位) 资源共享
JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7...
jdk7 jdk8 jdk9 jdk10 jdk11 jdk12 jdk13 jdk14 (linux-rpm 64位) 资源共享
jdk1.8、jdk11、jdk17 资源下载
jdk-11版本安装包、jdk-11版本安装包、jdk-11版本安装包 jdk-11版本安装包、jdk-11版本安装包、jdk-11版本安装包 jdk-11版本安装包、jdk-11版本安装包、jdk-11版本安装包 jdk-11版本安装包、jdk-11版本安装包、jdk-...
本篇文章将详细探讨“微信支付解决jdk版本问题”,以及如何通过替换jar包来确保系统的稳定和安全。 首先,我们要理解为何微信支付会出现与特定JDK版本不兼容的问题。Java Development Kit (JDK) 是Java编程语言的...
Windows JDK安装 包含 jdk8 jdk11 jdk17 jdk22 x64位安装包
如果有报错可能是githubtoken的问题需要访问 报错连接 生成token然后执行命令 export HOMEBREW_GITHUB_API_TOKEN="你生成的token" 然后重新执行安装命令即可 如果看不懂 移步搜怎么使用brew安装jdk1.6
8. **改进的多线程**:添加了`ThreadLocal`类,为每个线程提供独立的变量副本,避免了数据竞争问题。 9. **国际化增强**:加强了对Unicode的支持,改进了`java.text`包,使得国际化应用开发更加便捷。 10. **...
JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK...
Mac 版本 jdk 11 Mac 版本 jdk 11 Mac 版本 jdk 11Mac 版本 jdk 11 Mac 版本 jdk 11 Mac 版本 jdk 11Mac 版本 jdk 11 Mac 版本 jdk 11 Mac 版本 jdk 11Mac 版本 jdk 11 Mac 版本 jdk 11 Mac 版本 jdk 11Mac 版本 jdk...
元空间(MetaSpace)取代了永久代(PermGen),解决了内存溢出问题;以及改进的类型推断,使得泛型的使用更加灵活。此外,JDK7还引入了Fork/Join框架,用于并行执行任务,提高了多线程程序的性能。 JDK8是Java平台...
官网 jdk6,jdk7,jdk8,jdk9,jdk10 windox 32位、64位、linux 32位、64位 百度云。
在IT领域,特别是软件开发过程中,经常会遇到不同版本或类型的Java运行环境(JRE)和Java开发工具包(JDK)之间的兼容性问题。本文将针对“JDK和Oracle JDK冲突修改环境变量”的主题进行深入探讨,并提供详细的解决...
这意味着用户不需要经历传统安装程序的繁琐步骤,也不需要担心安装过程中可能出现的各种问题,比如安装失败、兼容性问题等。此外,“真测可用”表明作者或发布者已经对该免安装版JDK进行了实际测试,并确认其可以...