java - (01) JDK, JRE, JVM
2015-07-29 14:46
417 查看
一、JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java
Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库。
JDK有以下三种版本:
J2SE,standard edition,标准版,是我们通常用的一个版本J2EE,enterpsise edtion,企业版,使用这种JDK开发J2EE应用程序J2ME,micro edtion,主要用于移动设备、嵌入式设备上的java应用程序
二、JRE:Java Runtime Enviromental(java运行时环境)。也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。
三、JVM:Java
Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 的主要工作是解释自己的指令集(即字节码)并映射到本地的 CPU 的指令集或 OS 的系统调用。Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class
file)。类文件的组成包括 JVM 指令集,符号表以及一些补助信息
我们开发的实际情况是:我们利用JDK(调用JAVA
API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码(.class文件),在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。
注:
javac 可以将java源文件编译为class字节码文件
如 javac HelloWorld.java
运行javac命令后,如果成功编译没有错误的话,会出现一个HelloWorld.class的文件。
java 可以运行class字节码文件
如 java HelloWorld
注意java命令后面不要加.class
Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库。
JDK有以下三种版本:
J2SE,standard edition,标准版,是我们通常用的一个版本J2EE,enterpsise edtion,企业版,使用这种JDK开发J2EE应用程序J2ME,micro edtion,主要用于移动设备、嵌入式设备上的java应用程序
二、JRE:Java Runtime Enviromental(java运行时环境)。也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。
三、JVM:Java
Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 的主要工作是解释自己的指令集(即字节码)并映射到本地的 CPU 的指令集或 OS 的系统调用。Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class
file)。类文件的组成包括 JVM 指令集,符号表以及一些补助信息
我们开发的实际情况是:我们利用JDK(调用JAVA
API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码(.class文件),在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。
注:
javac 可以将java源文件编译为class字节码文件
如 javac HelloWorld.java
运行javac命令后,如果成功编译没有错误的话,会出现一个HelloWorld.class的文件。
java 可以运行class字节码文件
如 java HelloWorld
注意java命令后面不要加.class
相关文章推荐
- java 调用过程的内存分配情况
- java编写二叉树以及前序遍历、中序遍历和后序遍历
- 使用Eclipse构建Maven项目
- JavaMail开发出现com/sun/mail/util/LineInputStream异常
- 朝花夕拾——Java的内部类
- JFinal和Struts功能特点对比分析
- java在字符串中获取满足正则表达式的字符
- java异常处理机制
- eclipse|studio 导出hprof 后用MAT显示报错Unknown HPROF Version
- Java中关于Arrays.asList方法的深入学习与理解
- java 代码取当月第一天、当年第一天
- Scala和Java的循环性能对比
- Java Process 程序阻塞处理
- eclipse下MAVEN离线环境搭建
- eclipse中导入其他的web工程遇到和解决的问题
- Java爬虫,信息抓取的实现
- 方法级别的java日志输出控制(一)
- 7. 异常处理总结
- java 图形界面 按钮
- 算法(第四版)学习笔记之二分查找的递归与非递归java实现