zoukankan      html  css  js  c++  java
  • JavaStudy——jdk与jre的区别

    首先笔者想阐明的是:JDK和JRE没想象中的那么简单。

    相信大家都知道JDK和JRE是什么,但是具体干什么用不妨先试问下自己,如果能说出个所以然来,那么这篇文章大神请自觉忽略,呵呵,或者可以温故一下。

    如果有哪里说的不对的地方还望指出,谢谢。

    下面来简单说明下

    先上张图,宏观的看一下

     

    从图中可以看出JDK包含JRE包含JVM...

    JDK:java development kit (java开发工具)

    JRE:java runtime environment (java运行时环境)

    引申出JVM

    JVM:java virtuak machine (java虚拟机)

    一、JDK——开发环境(核心)

    java development kit 的缩写,意思是JAVA开发工具,我们写文档做PPT需要office 办公软件,开发当然需要开发工具了,说到开发工具大家肯定会想到Eclipse,但是如果直接安装Eclipse你会发现它是运行不起来 是会报错的,只有安装了JDK,配置好了环境变量和path才可以运行成功。这点相信很多人都深有体会。

    JDK主要包含三部分,

    第一部分就是Java运行时环境,JVM。

    第二部分就是Java的基础类库,这个类库的数量还是非常可观的。

    第三部分就是Java的开发工具,它们都是辅助你更好的使用Java的利器。

    详寻《玩好JDK,面试不用愁》

    二、JRE——运行环境

    java runtime environment (java运行时环境)的缩写

    1.1_JDK中的JRE

    如下图:jdk中包含的jre,在jre的bin目录里有个jvm.dll,既然JRE是运行时环境,那么运行在哪?肯定是JVM虚拟机上了。另,jre的lib目录中放的是一些JAVA类库的class文件,已经打包成jar文件。

     

    1.2_第二个JRE(独立出来的运行时环境)

    如下图,不管是JDK中的JRE还是JRE既然是运行时环境必须有JVM。所以JVM也是有两个的。

    三、JVM——转换环境

    java virtuak machine (java虚拟机)的缩写。

    大家一提到JAVA的优点就会想到:一次编译,随处运行,说白了就是跨平台性好,这点JVM功不可没。

    JAVA的程序也就是我们编译的代码都会编译为Class文件,Class文件就是在JVM上运行的文件,

    只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。

    JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

    JVM也是一门很深的学问,感兴趣的童鞋可以深入研究,只有好处,没有坏处。

    其实有时候面试官问JDK和JRE的区别的目的不是想让你解释什么名词的,而是想看看你的基础和研究JAVA的深浅,还有另一方面就是你是不是经常喜欢问为什么。

    总结:

    如果你面试遇到这个问题了,不用解释太多,一个词(javac)就够了,如果面试官不傻的话,我相信他已经秒懂了。

    如果继续追问的话,再一 一给他细分。

  • 相关阅读:
    Socket.IO API Server
    Socket.IO 中文笔记
    Express 中文API 笔记
    JWT
    Sass 记录
    CSS高级技巧(二)背景和边框
    CSS高级技巧(一)常见的注意事项
    CSS进阶(二十四)流向的改变
    linux应用之test命令详细解析
    数字证书原理(ssl,https)
  • 原文地址:https://www.cnblogs.com/tingguoguoyo/p/12824430.html
Copyright © 2011-2022 走看看