Java运行环境JRE:深入解析与应用

一、引言

随着数字化的不断深入,作为一门广泛的应用编程语言的Java,其所对应的运行环境的重要性也就不言而喻的体现了,尤其是在各行各业的软件开发中都离不开其强大的运行环境的支撑下。而Java的运行环境JRE更是构成了Java程序的顺畅运行的关键的基础性保障.。由此不难看出,JRE的存在就像一道“神奇的门”一样,让我们将Java程序的“一次编写”这一美好理想的目标,化为了“随处运行”的现实之中,极大的提高了Java程序的可移植性。那么JRE的奥秘又何在呢?下面我们就一一揭开它的面纱。

二、JRE 基本概念

Java运行环境JRE:深入解析与应用

(一)JRE 定义

而作为Java的运行时环境,JRE的存在就直接决定了Java的应用程序能否在本机上得以顺利的运行。就像一座舞台一样,它为Java的各个“演员”都提供了必要的表演场地和条件.。以构成的层面而言,JRE就既包含了Java的虚拟机(JVM)又包含了Java的核心类库以及必要的支持文件等24579。

(二)JRE 各组件作用

以Java虚拟机(JVM)为核心的Java程序通过在实际的计算机上仿真模拟各种计算机的硬件和软件等方面的功能,從而实现了运行于任何种类的的计算机上的可移植性。由此可见,JVM的最核心的功能就是将我们写好的java源程序或.java的.class字节码文件,通过解释直接在具体的平台上转化为机器指令,最后由计算机的处理器来执行,从而也就实现了Java的“一次编译,到处运行”的最根本的原因。由此可见,无论是Windows还是Linux的操作系统下,都可以将Java的源程序编译成字节码,由JVM直接将其装入内存,实现跨平台的运行4。

其中的Java核心类库就如JRE的“大脑”一样,为我们提供了丰富的预定义的类和接口,如了对字符串的处理、对集合的框架、对输入输出的操作等各个方面的便捷的接口和类的直接使用从而大大降低了我们对Java的学习和开发的难度。比如,我们在编写 Java 程序时使用的String类、ArrayList类等都来自于核心类库,它们为开发者提供了丰富的功能支持,大大提高了开发效率24579。

但不仅仅是这样,支持文件的存在还为JRE的正常运行提供了外部的辅助,各个组件的协调也就由此实现了对Java程序的稳定运行提供了有力的保障。

三、JRE 与 JDK、JVM 的关系

(一)JDK 与 JRE

JDK(Java Development Kit)是 Java 开发工具包,它包含了 JRE 和一系列开发工具,如编译器javac、调试器jdb等。而只需安装JRE即可满足了简单的运行Java的需求,但如果你又要自己开发java的程序就需要安装JDK了。从本质上讲,JDK的设计更为“人性化”,把开发者的需要作为其优先的考虑目标,而JRE的设计则更为“务实”,把Java程序的“正常”运行作为其主要的设计目标479。

(二)JRE 与 JVM

而JVM作为JRE的核心组成部分,正是以其能在JRE的完善的运行环境中灵活的运行着的。而JVM又依赖于JRE中提供的核心类库和所需的支持才能够独立的将Java程序的源程序中的各个字节码的指令逐一取出装入运算器中执行。通过将JVM等众多的组件有机的整合起来,JRE就为Java程序的正常的执行提供了一个完美的“舞台”24579。

四、JRE 的应用场景

Java运行环境JRE:深入解析与应用

(一)桌面应用程序

如今,Java的桌面应用已不再是少数,越来越多的图形处理软件、办公软件等都开始把Java作为自己的开发语言了。但由于其在运行时都需要借助JRE的支持才能在不同的操作系统上保持一致的运行效果,导致了其在各个平台上的开发和维护都比较困难。

(二)Web 应用程序

随着Web的普及,Java也逐渐在Web的开发中起到了一定地作用,如目前市面上基于Java的Web服务器(如Tomcat)和Web框架(如Spring)等都大受开发者的青睐。当用户接触这些基于Web的应用时,服务器端的Java程序就需要在JRE的支持下将用户的请求处理并返回相应的结果。

(三)移动应用程序

尽管如今的Android开发主要以Kotlin或Java的两大语言为主,但早先的Java ME(Java的微型版)就为移动设备的Java的运行环境的所做了起到着了极大的推动作用。由于Java ME的广泛的应用,使得很多功能的手机上的应用程序都能基于Java ME来开发,它们的运行都依赖于相应的JRE的支持。

五、JRE 的安装与使用

(一)安装

根据Oracle的官方网站,我们都可以根据自己所用的操作系统的对应的JRE的安装包下载下来,然后按照安装的向导的提示一步一步的就可以顺利的安装了。安装完成后,在命令行中输入java -version命令,如果能够正确显示 JRE 的版本信息,说明安装成功2。

(二)使用

就普通的用户来说,直接运行Java的应用程序就能自动的将已安装的JRE当作是运行的环境去执行程序了。而对于开发者来说,最终的程序都将被部署到已经包含了JRE的环境中去运行,而在开发的过程中我们却一直都是基于JDK的编译和调试的,所以这一点就引出了我们本文的主题——JDK和JRE的区别和开发的关系。

六、JRE 的精简

Java运行环境JRE:深入解析与应用

通过对JRE的精简对Java应用的内存的占用都有一定的降低同时也可以提高了Java的应用的启动速度并且对系统的资源的需求都有一定的降低。但对一些相对较小的Java程序来说,整体的JRE的体积就已经将其所能带来的效率的优点给掩盖了,例如其对程序的下载和部署的效率就大大降低了。通过对JRE的精心的剔除和合理的替换,我们就可以轻松的将JRE的体积从1.4G的原始的JRE的体积降低到目前的300M左右的体积。同时也将JRE的运行的快速度也给我们带来了一定的提升

(一)分析依赖关系

通过对Java的反编译或依赖的分析工具的排查,将实际的被应用的类和库都列出来,并将其中未被实际使用的部分全部排除掉.。

(二)定制 JRE

通过对标准的JRE的精心的剔除和筛选,根据各个应用程序的具体的依赖关系,将未被所用应用所引用的、无关的、冗余的文件和目录全部从标准的JRE中删除,从而为用户打造出一个仅仅包含所用应用所必需的、最小的、最合理的定制化的JRE。另外也可以将JRE的版本降低为Java ME或Java SE Embedded的更小的版本从而大大地节省了系统的资源。

(三)使用定制 JRE 工具

借助如GreenJVM这样的工具,我们就可以更便捷地根据自己的需求对JRE的各个组成模块的定制,从而将JRE的体积进一步的缩小。

七、总结

其作为Java生态系统的核心组成部分,Java的运行环境JRE的作用就如同一面大旗一样,牵一发而动全身,至关重要。以其为Java的各类应用程序提供了基本的运行环境同时也为Java的广泛的开发和应用提供了坚实的基础,充分地体现了其作为Java的基础的重要性.。由此可见,Java的完善的支持使得其能在不同的大型机、微机、工作站等多种不同的平台上都能稳定的运行。但对JRE的开发者和普通的用户来说都必须先对其有一个基本的了解才能够更好的使用和开发它。合理的对JRE的安装、使用和精简无疑可以更好的发挥Java程序的优势,从而为我们的工作和生活带来更多的便利和效率。通过对JRE的这一简要的介绍,也希望对大家的JRE的认识有所提高。


《Java运行环境JRE:深入解析与应用》.doc
将本文下载保存,方便收藏和打印
下载文档