jdk和jre和jvm的关系(jre是什么)-九游会官网入口

admin 健康 2023-09-06 15:47:48 18 0
底部悬浮广告示例
软文发布投稿联系微信:aaw4008

因为对jdk,jre,jvm这三者的联系与区别,一直都是模模糊糊的,所以今天特写此文,来整理下三者的关系。捋一捋思路~

jdk包含了jre,它除了包含jre之外还包含了一些javac的工具类,把java源文件编译成class文件,java文件是用来运行这个程序的。除此之外,里边还包含了java源生的api等。

jdk常用的包:

java.lang:这个是系统的基础类,比如:string,math,integer,system,thread提供常用的功能。

java.io这里面是所用输入输出有关的类,比如:文件操作。

java.net:这里面是与网络有关的类,比如url,urlvonnection等。

java.util:这个是系统辅助类,特别是 *** 类conllection,list,map等。

java.sql:这个是数据操作的类,connection,statememt,resultset等。

jdk有以下三种版本:

j2se,standard edition,标准版;j2ee,enterpsise edtion,企业版;j2me,micro edtion,主要用于移动设备上的java应用程序

总之,jdk是整个java的核心,包括了java运行环境(java runtime envirnment),一堆java工具(javac/java/jdb等)和java基础的类库(即java api 包括rt.jar)。

jre包含jvm

jre,是为了保证java程序能够运行时,所必备的一基础环境,也就是它只是保证java程序运行的,不能用来开发,而jdk才是用来开发的,而想要开发java,必须包含能够运行的环境,因此,jdk是包含jvm的。并且所有的java程序都要在jre下才能运行。

jdk包括jvm和java核心类库和支持文件。与jdk相比,它不包含开发工具——编译器、调试器和其它工具。

jre是java运行时环境,java运行靠的就是底层的依赖于jvm,即java虚拟机,java虚拟机用来加载类文件,java中之所以有跨平台的作用,jvm是按照不同的平台所写的,因此,java具有跨平台性,但是jvm确实依赖于平台的。

jvm是jre的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。jvm有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。jvm 的主要工作是解释自己的指令集(即字节码)并映射到本地的 cpu 的指令集或 os 的系统调用。java语言是跨平台运行的,其实就是不同的操作系统,使用不同的jvm映射规则,让其与操作系统无关,完成了跨平台性。jvm 对上层的 java 源文件是不关心的,它的只是由源文件生成的类文件( class file)。类文件的组成包括 jvm 指令集,符号表以及一些补助信息。

其实在jdk的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库。

总之,开发利用jdk(调用java api)开发了java程序后,通过jdk中的编译程序(javac)将文本java文件编译成java字节码,在jre上运行这些java字节码,jvm解析这些字节码,映射到cpu指令集或os的系统调用。

后面会分享一些devops和dba方面内容,感兴趣的朋友可以下!!

九游会官网入口的版权声明 1、本网站名称:三九知识
2、本站永久网址:www.1puu.com
3、本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任
4、如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 aaw4008@foxmail.com
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
本文链接:http://1puu.com/post/34832.html
网站地图