码迷,mamicode.com
首页 > 编程语言 > 详细

Java学习入门--(1)JDK、JRE、JVM三者间的关系

时间:2019-01-12 00:22:07      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:text   标准   动作   term   图片   -o   java虚拟机   images   包括   

学习JAVA前必须了解Java跨平台特性,Java 为什么能跨平台,实现一次编写,多处运行?
Java 能够跨平台运行的核心在于 JVM(Java虚拟机) 。不是 Java 能够跨平台,而是它的 jvm 能够跨平台运行。我们知道,不同的操作系统向上的 API 肯定是不同的,那么如果我们想要写一段代码调用系统的声音设备,就需要针对不同系统的 API 写出不同的代码来完成动作。

而 Java 引入了字节码的概念,jvm 只能认识字节码,并将它们解释到系统的 API 调用。针对不同的系统有不同的 jvm 实现,有 Linux 版本的 jvm 实现,也有 Windows 版本的 jvm 实现,但是同一段代码在编译后的字节码是一样的。引用上面的例子,在 Java API 层面,我们调用系统声音设备的代码是唯一的,和系统无关,编译生成的字节码也是唯一的。但是同一段字节码,在不同的 jvm 实现上会映射到不同系统的 API 调用,从而实现代码的不加修改即可跨平台运行。

JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具(例如:javac.exe,java.exe,jar.exe 等)和Java基础类库。Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是Java Virtual Machine(Java虚拟机)的缩写,是整个java实现跨平台的最核心的部分,能够运行以Java语言写的软件程序,它只认识.class类型文件,能够将class文件中的字节码指令进行识别并调用操作系统对应的API完成相应的动作。
技术分享图片

Java学习入门--(1)JDK、JRE、JVM三者间的关系

标签:text   标准   动作   term   图片   -o   java虚拟机   images   包括   

原文地址:http://blog.51cto.com/13238147/2341868

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!