浅谈JDK,JRE,JVM的联系

小故事 - 习惯人生:

父子两住山上,每天都要赶牛车下山卖柴。老父较有经验,坐镇驾车,山路崎岖,弯道特多,儿子眼神较好,总是在要转弯时提醒道:“爹,转弯啦!”
  有一次父亲因病没有下山,儿子一人驾车。到了弯道,牛怎么也不肯转弯,儿子用尽各种方法,下车又推又拉,用青草诱之,牛一动不动。
  到底是怎么回事?儿子百思不得其解。最后只有一个办法了,他左右看看无人,贴近牛的耳朵大声叫道:“爹,转弯啦!”
  牛应声而动。
  牛用条件反射的方式活着,而人则以习惯生活。一个成功的人晓得如何培养好的习惯来代替坏的习惯,当好的习惯积累多了,自然会有一个好的人生。

日常鸡血:

在这里插入图片描述

什么是JDK?

JDK是整个JAVA的核心,包括了Java运行环境,一堆Java工具(Javac/java等)和Java基础的类库(Java api).基本上每个学java的人都会先在机器上安装一个JDK,那他都包含哪几部分呢?
在目录下面有六个文件夹,一个src类库源码压缩包,和其他集合声明文件.其中,真正在运行java是起作用的是一下4个文件夹:bin,include,lib,jre.有这样一个关系: JDK包括JRE,而JRE包括JVM.
在这里插入图片描述

         bin:最主要的是编译器(javac.exe)
         include:java和JVM交互用的头文件
         lib:类库
         jre:java运行环境

总的来说JDK是用于java程序的开发,而JRE则是只能运行.class而没有编译的功能.

什么是JRE?

JRE(Java运行环境),包含JVM标准实现及Java核心类库.JRE是java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器).
JRE是值java的运行环境.光有JVM还不能让class执行,因为在解析class的时候JVM需要调用解析所需要的类库lib,(JRE里面有运行.class的java.exe)
在这里插入图片描述

总体说就是 编写的java程序必须有JRE才能运行.

JVM

JVM就是Java虚拟机,java运行时的环境,

Java虚拟机在执行字节码时,把字节码解析成具体平台上的机器指令执行.这就是Java能够”一次编译,到处运行”的原因.

三者的联系:

JVM不能单独搞定class的执行,解析class的时候JVM需要调用解析所需要的类库lib.在JDK下面的jre目录里面有两个文件夹bin和lib,在这里可以认为bin里面就是jvm,lib中则是jvm工作所需要的类库,而jvm和lib合起来就称为jre。

总体来说就是,我们利用JDK开发了属于我们自己的Java程序后,通过JDK中的编译程序(javac)将我们的java文件编译成class字节码,在JRE上运行这些class字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用.
在这里插入图片描述

励志小短句:没有不进步的人生,只有不进取的人!

在这里插入图片描述

如果对大家有所帮助的话,要点赞奥~~~
有错误的地方,欢迎下方评论,我每天都看~~~

发布了4 篇原创文章 · 获赞 14 · 访问量 3174

猜你喜欢

转载自blog.csdn.net/weixin_45302340/article/details/103991130