jdk和jre的关系用简单的话讲就是,jre提供运行环境,供运行java程序使用,jdk提供开发环境,供开发人员使用,开发人员使用jdk将java文件编译成可供jre运行的程序,jre在操作系统中运行jdk编译后的程序。
先解释一下程序,程序就是指令和数据的合集,而java程序特指运行在java虚拟机中的程序,java程序和普通程序的差异又有哪些呢
我们都听说过,Java程序是跨平台的,不依赖任何一个操作系统,可以方便的进行迁移,那么他是怎么做到跨平台的呢?java程序运行于Java虚拟机之上,所以java程序的运行依赖于java虚拟机,那么只要一个机器上安装了java虚拟机,那么这个机器就可以运行java程序,哪这和跨平台有什么区别呢?在没有java虚拟机之前,编写一个程序要考虑操作系统,必须为操作系统单独的开发一个软件,不同的操作系统就要开发多个,而提出了虚拟机的概念之后那就是,开发一套程序,在不同的操作系统中去开发运行该程序的程序,这样在迁移程序时,就把该程序和运行该程序的程序放到新系统中即可,这样就做到了程序的跨平台。反应在编程思想中就是面向接口编程。Jre就是这个能够运行其它程序的程序,sun公司体提出了jvm的设计规范,在不同的操作系统中分别实现了这些规范,这就是jre,但有了jre还不够,jre只是运行程序的程序,要想使用它运行我们编写的程序,我们编写的这些程序就要符合jre的规范,但jre运行的是字节码文件,我们肯定看不懂字节码文件,所以sun公司就提供了专门开发Java程序的程序包jdk,它不仅包含了运行字节码命令的虚拟机,还包含了能够把符合java语法的文件编译成能够让jre运行的字节码的编译器。所以编写java程序就要符合java的语法。
本文深入解析JRE与JDK的关系及其在Java跨平台特性中的作用。JRE提供运行环境,使Java程序能跨操作系统运行;而JDK提供开发环境,包含编译器将Java源代码转换为字节码。通过面向接口编程,Java程序实现了一次编写,到处运行的目标。
554

被折叠的 条评论
为什么被折叠?



