J2SE、J2EE、J2ME的关系
J2SE、J2EE、J2ME是java针对不同使用场景提供的不同服务,不同类型的类库。
具体含义如下:
1、J2SE - Java 2 standard edition - Java标准版
Java 2 的标准版,主要用于桌面应用软件的编程
Standard Edition(标准版) J2SE包含那些构成Java语言核心的类。
比如:数据库连接、接口定义、输入/输出、网络编程
2、J2EE - Java 2 enterprise edition - Java企业版
Java 2 的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统
Enterprise Edition(企业版) J2EE 包含J2SE中的类,并且还包含用于开发企业级应用的类
比如:EJB、servlet、JSP、XML
3、J2ME - Java 2 Micro Edition - Java微型版
Java 2 的微型版,主要应用于嵌入式系统开发,如手机和PDA的编程
MicroEdition(微缩版)J2ME包含J2SE中一部分类,用于消费类电子产品的软件开发。
比如:呼机、智能卡、手机、机顶盒
JDK、JRE、JVM的关系
1、JDK - Java development kit - Java开发工具
相当于是Java的库函数,是编译,运行java程序的工具包,主要用于java开发
JDK包含了JRE、编译java源码的编译器javac、java程序编写所需的文档和demo例子程序、很多java程序调试和分析的工具,如:jvisualvm
2、JRE - Java Runtime Environment - Java运行时环境
java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的必要软件环境,主要用于运行java程序
3、JVM - Java Virtual - Java虚拟机
JVM是JRE的一部分。JVM的核心工作是解释执行class文件,并负责class文件的整个生命周期,整个过程包括:加载、预处理、实例化、使用、卸载(垃圾回收)。
Java语言的跨平台正是通过JVM实现。
JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file )。因此JVM中不仅仅能运行java程序,也能运行其他语言程序,只要这些语言程序编译后生成符合JVM规范的class字节码文件即可。