美文网首页程序猿阵线联盟-汇总各类技术干货
如果搞不清楚JDK,JRE和JVM那就说不过去了

如果搞不清楚JDK,JRE和JVM那就说不过去了

作者: OSET我要编程 | 来源:发表于2018-01-04 16:44 被阅读24次

    JDKJavaDevelopmentKit的缩写,意思是Java开发工具包。

    顾名思义,JDK包含了很多的程序猿在开发过程中所使用的资源库,他包含了编译器、打包工具、查错工具、Java反汇编器,开发所需的各类包等等,总而言之,他是整个JAVA开发的核心,就像一台电脑的CPU。

    当然,JDK也包含有JVMJRE

    JRE是什么?

    JRE是Java

    RuntimeEnvironment的缩写,直译过来就是Java运行环境。

    通过名字就可以了解到这是Java运行时必不可少的一部分。包括两部分:Java

    RuntimeEnvironment和JavaPlug-in。是可以在其上运行、测试和传输应用程序的Java平台。它包括Java虚拟机(jvm)、Java核心类库和支持文件,JRE需要辅助软件--JavaPlug-in--以便在浏览器中运行applet

    对于程序的使用者来说,只需要安装JRE即可,这样就可以运行使用Java程序,但是对于开发者来说,必须要安装JDK,这样才能使用各类开发包。

    JVM又是什么呢?

    JVM是Java Virtual

    Machine的缩写,意思是Java虚拟机。

    JVM是一种规范,他遵循着冯·诺依曼体系结构的设计原理,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的,是JRE最核心的部分。Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。实际项目中JAVA应用的性能优化,OOM等异常的处理最终都得从JVM这儿来解决。

    JVM由4大部分组成:ClassLoader,RuntimeData Area,Execution Engine,NativeInterface

    ClassLoader负责加载class文件。

    NativeInterface负责调用本地接口。

    Execution Engine是执行引擎,也叫Interpreter。负责将Class文件加载后放入内存中的指令和数据信息解释给操作系统。

    Runtime Data Area则是存放数据的,分为五部分:Stack,Heap,MethodArea,PC

    Register,Native MethodStack。几乎所有的关于java内存方面的问题,都是集中在这块。

    IT技能学习请关注http://www.zparkedu.com/有免费java基础学习视频,更有免费试听课

    相关文章

      网友评论

        本文标题:如果搞不清楚JDK,JRE和JVM那就说不过去了

        本文链接:https://www.haomeiwen.com/subject/ktornxtx.html