ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JAVA语言的跨平台性和JDK,JRE与JVM

2022-06-28 11:36:19  阅读:186  来源: 互联网

标签:JRE Java JDK java 跨平台 JVM JAVA 运行


Java虚拟机--JVM

~JVM:java虚拟机简称JVM是运行所有java程序的假想计算机,是java程序的运行环境,是java最具有吸引力的特性之一,我们编写的java代码,都运行在JVM之上

~跨平台:任何软件的运行都必须要运行在操作系统之上,而我们用java编写的软件可以运行在任何操作系统上,这个特性成为java语言的跨平台特性,该特性是由JVM实现的,我们编写的程序运行在JVM之上,而JVM运行在操作系统上

 

 

 java的虚拟机本身不具备跨平台功能的,每个操作系统下都有=不同版本的虚拟机

 

JRE是啥
先说JRE,在我们装JDK的时候,经常会发现即安装了JDK也安装了JRE,也不知道他们有什么区别。

JRE(Java Runtime Environment)是JAVA运行时环境,它是运行已编译Java程序所需的所有内容的集合,包括Java虚拟机(JVM),Java核心类库和一些基础的构件。

有些人认为如果是运行,那JVM不就够了吗,其实还不够,因为在解释class文件时,JVM需要调用解释所需要的类库 lib。jre的安装目录下,里面有两个文件夹bin和lib,笼统的分析下,这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。

jre里有运行.class的java.exe文件,至于虚拟机则是jre安装目录/bin/server目录下的jvm.dll文件

 

但是,它不能用于创建新程序。它只包括了运行的能力,不具备开发的能力,它无法将java文件编译成.class字节码文件,但是它可以直接跑.class字节码文件,你在其他电脑上编译好java程序,拿到仅有JRE环境的电脑也可以正常使用

 

JDK是啥
JDK(Java Development Kit)是Java的开发工具包,它不仅提供了Java程序运行所需的JRE,还提供了一系列的编译,运行等工具,如javac,java,javaw等。通过这里,我们可以明白三个J的包括关系了:JDK》JRE》JVM,所以我们在安装JDK时,通常不需要考虑JRE,JVM之类的,只要你安装好了JDK,其他两个就都有了。

简单列举一下JDK包括的一些开发工具:

javac – 编译器,将源程序转成字节码。

jar – 打包工具,将相关的类文件打包成一个文件。

javadoc – 文档生成器,从源码注释中提取文档。

jdb – debugger,查错工具。

java – 运行编译后的java程序(.class后缀的)。

appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。

Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。

Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。

Jconsole: Java进行系统调试和监控的工具。

有时候还会有人提到SDK,SDK(Software Development Kit )是指软件开发包,它不仅限于JAVA,很多软件也有自己的SDK,更像一个统称,是专门给第三方开发者提供的软件开发工具集合。

所以SDK实际上和JDK没啥直接联系,SDK比较抽象,JDK则是具体指Java开发工具包,它们两都不是一个次元的,硬要说的话,JDK可以被描述成Java开发的SDK

 

标签:JRE,Java,JDK,java,跨平台,JVM,JAVA,运行
来源: https://www.cnblogs.com/xuche/p/16418870.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有