如果搞不清楚JDK,JRE和JVM那就说不过去了
JDK是JavaDevelopmentKit的缩写,意思是Java开发工具包。
顾名思义,JDK包含了很多的程序猿在开发过程中所使用的资源库,他包含了编译器、打包工具、查错工具、Java反汇编器,开发所需的各类包等等,总而言之,他是整个JAVA开发的核心,就像一台电脑的CPU。
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基础学习视频,更有免费试听课