jdl, jre, jvm
JDK包含了JRE,JRE包含了JVM
JVM是JRE的一部分,是虚拟出来的一台计算机.通过实体计算机仿真各种计算功能来实现,JVM有自己完善的硬件架构,如处理器,堆栈,寄存器等,还有相应的指令集.JVM是Java跨平台的核心,Java程序通过JVM的跨平台,从而使Java程序跨平台.Java程序首选会被编译成字节码文件(.class),JVM的核心任务就是解释字节码文件(.class)并映射到真实CPU指令集或者系统调用.JVM不关系上层Java程序,只关系字节码(.class).
JRE是Java运行环境,所有Java程序必须依赖JRE才能运行.只有JVM是不能运行字节码文件的(.class),因为解释的字节码的时候需要lib库. JRE里面有两个文件夹
bin/
,lib/
。bin/
就是JVM,lib
就是JVM所需要库。JVM+lib
=JRE
JDK是Java的核心,包含运行Java运行环境(JRE)和一些Java工具及Java基础类库 。
JDK提供的工具
appletviewer.exe* java-rmi.exe* jrunscript.exe* policytool.exe*
extcheck.exe* javaw.exe* jsadebugd.exe* rmic.exe*
idlj.exe* javaws.exe* jstack.exe* rmid.exe*
jabswitch.exe* jcmd.exe* jstat.exe* rmiregistry.exe*
jar.exe* jconsole.exe* jstatd.exe* schemagen.exe*
jarsigner.exe* jdb.exe* jvisualvm.exe* serialver.exe*
java.exe* jdeps.exe* keytool.exe* servertool.exe*
javac.exe* jhat.exe* kinit.exe* tnameserv.exe*
javadoc.exe* jinfo.exe* klist.exe* unpack200.exe*
javafxpackager.exe* jjs.exe* ktab.exe* vcruntime140.dll*
javah.exe* jli.dll* native2ascii.exe* wsgen.exe*
javap.exe* jmap.exe* orbd.exe* wsimport.exe*
javapackager.exe* jps.exe* pack200.exe* xjc.exe*
Java Api是Java的应用程序接口,里面有很多写好的Java Class,包含一些重要的语法结构以及基本图形,网络和文件IO,我们可以直接调用。
image-20201013130923240
会发现有两个目录,其实只需要jdk1.8.0_91
就可以,里面包好了jre,jre1.8.0_91
是JDK单独提供一个一个运行环境
安装JDK环境,调用本地的Java api完成业务代码,通过JDK的编译器(javac)编译成字节码(.class),然后在JRE上运行这些JAVA字节码,JVM解释这些字节码,映射到CPU指令集或者系统调用。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有