java跨平台原理,jdk/jre/jvm之间的关系

1 java基本认识

1.1 java语言

语言:人与人交流沟通的方式。比如,你好、hello等。

计算机语言:人与计算机之间进行信息交流的一种特殊方式。比如,Java语言、C语言、C++等。

1.2 java的来源

Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发,并在 1995 年正式推出。

Java之父:James Gosling

1.3 java的发展史

2 java语言跨平台

2.1 平台

平台指的是操作系统。例如,Windows、Mac、Linux等。

2.2 跨平台原理

Java程序可以在任意的操作系统上运行,即软件不依赖某个具体的操作系统,也不依赖某个具体的硬件环境。简单来说,在Windows开发出来的软件,可以在Mac、Linux等系统中运行。

Java语言的”跨平台“原理是相对于其他编程语言来说的。这是因为Java语言只需要编写一次代码,就可以在不同的系统上运行。而其他的一些高级语言,比如C语言写出的代码,如果想在不同的平台上运行,需要编译成针对不同系统平台的目标代码。比如在Windows系统中编译的C语言程序,在Linux下是不能运行的,需要重新编译成Linux下的目标程序。反之,在Linux下编译的C语言程序,在Windows下也不能运行。

下面,看案例分析:

假设中国人没学过法语跟英语,那他怎么跟法国人和美国人交流呢?

其实很简单,就是在中国人、法国人和美国人之间找个翻译把他们的话翻译给对方就行了。如下图所示:

那Java怎么实现跨平台呢?通过类比就可以知道,给Java找个翻译即可。如下图所示:

那这个翻译是什么呢?答:这个翻译是JVM,也就是在需要运行java应用程序的操作系统上,安装一个与操作系统对应的 JVM 即可。如下图所示:

JVM是什么?它的全称为Java Virtual Machine,Java虚拟机,主要充当翻译官的作用,保证Java的跨平台,实现一次编译到处运行的特性。

3、JRE和JDK

3.1JRE

3.1.1 概述

JRE全称为Java Runtime Environment,Java的运行时环境,包含Java虚拟机(JVM)及Java核心类库。如下图所示:

3.1.2 Java核心类库有哪些?想了解可参照链接 链接

3.2 JDK

JDK全称为Java Development Kits,Java开发工具包,包括JRE和开发人员使用的工具。

其中开发工具包括:编译工具( javac.exe)和运行工具(java.exe)等。

JDK、JRE、JVM三者间的关系图如下:


 

本文为学习笔记,所参考文章均已附上链接,若有疑问请私信!

创作不易,如果对你有点帮助的话麻烦点个赞支持一下!

新手小白,欢迎留言指正!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/736743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

状态机高阶讲解-03

402 00:17:30,860 --> 00:17:34,610 那首先要说在前面的,就是说 403 00:17:36,590 --> 00:17:39,770 这个状态机实际上已经是一种 404 00:17:42,060 --> 00:17:45,320 描述行为上的差别了 405 00:17:45,820 --> 00:17:47,860 就是说,实际…

SpringBoot中MD5使用

SpringBoot中MD5使用 新建md5类 public final class MD5 {public static String encrypt(String strSrc) {try {char[] hexChars {0, 1, 2, 3, 4, 5, 6, 7, 8,9, a, b, c, d, e, f};byte[] bytes strSrc.getBytes();MessageDigest md MessageDigest.getInstance("MD5…

组态软件基础知识

一、组态软件基础知识 1、概述 (1)、组态软件概念与产生背景 “组态”的概念是伴随着集散型控制系统(Distributed Control System简称DCS)的出现才开始被广大的生产过程自动化技术人员所熟知的。在工业控制技术的不断发展和应用…

HR人才测评,如何测评候选人的心理素质?

心理素质,指的是处于压力之下,其解决问题的能力、团队协作能力,事务处理的效率等是否保持稳定和高效。心理素质决定了员工在岗位上的适应能力,也是发展潜力的基础。 对于企业来说,心理素质好的员工,不仅是…

哪些泛域名ssl证书一年送一月

泛域名SSL数字证书,也称之为通配符SSL证书,是数字证书中比较特殊的产品。与传统的单域名SSL证书不同,泛域名SSL证书能够同时保护多个域名站点,只对域名站点的类型有限制——只能保护主域名以及主域名下的所有子域名站点。今天就随…

数据安全与销毁:数据销毁实践指南

数据销毁处理 为了满足合规要求及组织机构本身的业务发展需求,组织机构需要对数据进行销毁处理。因为数据销毁处理要求针对数据的内容进行清除和净化,以确保攻击者无法通过存储介质中的数据内容进行恶意恢复,从而造成严重的敏感信息泄露问题。…

【C++从0到王者】第五十二站:跳表

文章目录 一、什么是跳表二、skiplist的效率三、skiplist的实现 一、什么是跳表 skiplist本质上也是一种查找结构,用于解决算法中的查找问题,跟平衡搜索树和哈希表的价值是一样的,可以作为key或者key/value的查找模型。 skiplist,…

V1.2基站设置IP及设置基站连接服务器

基站状态指示灯 基站正常连接上服务器,基站指示灯如下,第一个灯是电源指示灯常亮;第二个灯为运行指示灯,程序正常运行第二个灯一直闪烁;第三个灯为为网络指示灯,网络连接正常会常亮,网络不通或…

专注于 DeFi 的 EVM 兼容 L1项目Berachain加入Hack.Summit()2024区块链开发者大会的联合主办之一

在激动人心的区块链领域,我们很荣幸的宣布Berachain已成Hack.Summit()2024区块链开发者大会的联合主办方之一。这一盛会将汇聚全球顶尖的开发者、投资者和创新者,共同探讨区块链技术的未来发展。 作为比特币生态的领军项目,Berachain始终积极…

AI入门笔记(四)

深度学习是人工智能的一种实现方法。本文我将学习到的关于深度学习的代表卷积神经网络的数学结构分享给大家。 深度学习是重叠了很多层的隐藏层(中间层)的神经网络。我们以一个例题为例。 建立一个卷积神经网络,用来识别通过 66 像素的图像读…

LINE社群:为您的跨境出海业务带来更多流量

LINE 社群就是一个大型的公开聊天室,通过LINE社群不需要将对方添加为好友就可以聊天。它主要是以「兴趣」作为区分,所以商家可以在社群中找到不少潜在客户。尤其是面向台湾、日本、泰国这些地区的商家,LINE在这些地区的普及度很高&#xff0c…

云流化技术方案的优势

数字化的时代,许多新兴的技术都逐渐走进人们的视野,云流化作为一种新兴的技术在各个领域发挥着越来越重要的作用,也为我们带来了方便快捷的使用体验,尤其是在虚拟仿真和数字孪生领域,但是有的人可能听到这个词会比较陌…

RT-Thread软件+华大开发板 配置USART+MSH控制台

Step1: 打开IDE 并新建一个工程文件 step2: 在工程文件名右键 -> 点击串口->配置项 Step3: 点击 “硬件” -> “Enable UART” -> "Enable UART7" Step4: 点击“组件” -> “MSH: command shell” Step5: 保存整个工程, 并打开工…

使用 Docker 部署 Next Terminal 轻量级堡垒机

1)Next Terminal 介绍 官网:https://next-terminal.typesafe.cn/ GitHub:https://github.com/dushixiang/next-terminal 想必经常玩服务器的都了解过 堡垒机,类似于跳板机,但与跳板机的侧重点不同。堡垒机的主要功能是…

java poi-tl 使用 模板 生成文档

1.引入依赖 <!--导出doc模板工具--><dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.10.6</version></dependency> 2.编码 /*** 导出doc文件* param id* return*/GetMapping(…

快乐生活,快乐分享,5款实用的小软件推荐

​ 分享是一种神奇的东西&#xff0c;它使快乐增大&#xff0c;它使悲伤减小&#xff0c;坚持分享一些好用的软件给大家&#xff0c;今天继续为大家带来五款好用的小软件。 1.数字笔记应用——OneNote ​ OneNote是微软推出的数字笔记应用&#xff0c;提供了一个集中的地方来…

泡菜生产加工厂污水处理需要哪些工艺设备

泡菜生产加工厂污水处理是一个重要的环境问题&#xff0c;需要采用一系列工艺设备来有效处理污水并降低对环境的影响。以下是一些常见的工艺设备&#xff0c;可以在泡菜生产加工厂中使用&#xff1a; 1. 沉淀池&#xff1a;沉淀池是最常用的工艺设备之一&#xff0c;其主要作用…

产品说明文件的二维码怎么做?扫码看文件在线生成技巧

现在很多企业会把产品说明书的文件做成二维码后&#xff0c;印刷到产品包装或者宣传展板上&#xff0c;让其他人通过扫码来查看说明&#xff0c;有效的提高了用户体验。那么文件二维码制作的方法和步骤可能有很多小伙伴都不太清楚&#xff0c;那么今天小编通过本篇文章来给大家…

城市基础信息管理系统 (VB版电子地图源码/公交车线路图/超市平面图)-143-(代码+程序说明)

转载地址http://www.3q2008.com/soft/search.asp?keyword143 请访问 以下地址,查看最新版本, 新增加支持 建筑物 距离测量, 鸟瞰, 地图放大缩小, VB完善地图扩充程序(城市街道基础信息管理系统 )-362-&#xff08;代码&#xff0b;论文&#xff09; 这套系统印象深刻 因为,写…

[云原生] K8s之ingress

1.Ingress的相关知识 1.1 Ingress的简介 service的作用体现在两个方面&#xff0c;对集群内部&#xff0c;它不断跟踪pod的变化&#xff0c;更新endpoint中对应pod的对象&#xff0c;提供了ip不断变化的pod的服务发现机制&#xff1b;对集群外部&#xff0c;他类似负载均衡器…