JDK(Java Development Kit)
JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。JDK的安装目录下面有五个文件个文件夹、一个src类库源码压缩包、和其他几个声明文件。在运行java 时起作用的是以下四个文件夹:
bin:最主要的是编译器(javac.exe)
include:java和JVM交互用的头文件
lib:类库
jre:java运行环境
Java Runtime Environment(JRE)
JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。在JDK的安装目录里你可以找到jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和lib和起来就称为jre。所以,在你写完java程序编译成.class之后,你可以把这个.class文件和jre一起打包发给朋友,这样你的朋友就可以运行你写程序了。
JVM(java virtual machine)
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
JDK,JRE,JVM三者间的关系:JDK包含了JRE,JRE包含了JVM
如下图:
JavaSE即Java标准版,它是JavaEE和JavaME的基础,之前称为J2SE,用来开发C/S架构软件,通俗来讲,即开发电脑桌面应用软件,电脑上运行的软件,例如,Java应用程序开发平台Eclipse。
JavaEE即企业版,之前称为 J2EE,JavaEE是在JavaSE的基础上构建的,用来开发B/S架构软件,即开发企业级应用,例如,电子商务网站、ERP系统。
JavaEE在JavaSE的基础进行了扩展,增加了一些更加便捷的应用框架。比如我们现在常用的Java开发三大框架Spring、Struts和Hibernate,我们可以应用这些框架轻松写出企业级的应用软件。
这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本能。主要用于开发移动设备软件和嵌入式设备软件,例如:手机游戏,电视机顶盒和打印机相关的嵌入式设备软件。
简单来讲: