我是靠谱客的博主 忧伤画笔,最近开发中收集的这篇文章主要介绍为什么java一次编写到处运行?(简单理解JDK、JRE、JVM三者之间的关系)前言一、java 跨平台原理二、java运行过程三、JDK、JRE、JVM三者之前的关系总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 前言
  • 一、java 跨平台原理
  • 二、java运行过程
  • 三、JDK、JRE、JVM三者之前的关系
  • 总结


前言

本文主要分为两个部分:理解java跨平台原理(即:一次编写到处运行)、
java中JDK、JRE、JVM三者之间的关系.


一、java 跨平台原理

java是一门很优秀的程序设计语言,它可以实现一次编写,到处运行。

(1)其他语言不能实现跨平台的原因

a. 接口层面的不同: 例:windows、linux上都有自己的系统级别的API函数(API——应用程序接口),操作系统除了协调应用程序的执行、内存分配、系统资源管理外还要调用各种服务(每种服务都是一种函数),因此不同操作系统有所不同。

b.硬件设备的不同: 指指令集的不同(不同设备处理器不同(CPU架构),因此对应的指令集不同)

(2)java如何做到?

a. 在接口层面: java直接将系统级别的API包括在其中。例如常用System类、包装类、日期时间类、Math类、StringBuffer、StringBuilder类等。

b.在硬件设备层面: java程序经过编译生成字节码文件.class,其可理解为用自己设计的指令集来组织用户所写的程序,由于字节码文件格式都是相同的,通过 JVM(Java虚拟机) 将其翻译成对应的机器可以识别的指令,可以在不同的操作系统上编译。

图解如下:
在这里插入图片描述


二、java运行过程

(1)简单了解一下jvm:
jvm:java虚拟机, 是用C语言编写的一个软件。主要作用是将字节码文件指令翻译成机器可以识别的指令。

java 的运行过程如下:
在这里插入图片描述
对比从C语言的运行过程:
在这里插入图片描述
(2)Java的编译

Java 的编译通过命令javac(即javac.exe,是在JDK安装bin目录下用纯Java语言编写的可执行文件)生成字节码文件(.class)。 然后在JVM中执行Java程序。
在这里插入图片描述


三、JDK、JRE、JVM三者之前的关系

前面介绍了jvm (Java虚拟机),简单理解为:将字节码文件指令翻译成机器可以识别的指令。

(1)JDK: java开发工具包(Java Development Kit)
JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
(2)JRE: Java运行环境(Java Runtime Environment)
JRE可以让计算机系统运行Java应用程序。它包括Java虚拟机(jvm)、Java核心类库和支持文件。

三者之间的关系如下图:
在这里插入图片描述


总结

以上就是本文的全部内容。

最后

以上就是忧伤画笔为你收集整理的为什么java一次编写到处运行?(简单理解JDK、JRE、JVM三者之间的关系)前言一、java 跨平台原理二、java运行过程三、JDK、JRE、JVM三者之前的关系总结的全部内容,希望文章能够帮你解决为什么java一次编写到处运行?(简单理解JDK、JRE、JVM三者之间的关系)前言一、java 跨平台原理二、java运行过程三、JDK、JRE、JVM三者之前的关系总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(25)

评论列表共有 0 条评论

立即
投稿
返回
顶部