当前位置:首页 > 数码 >

如何理解jre(jre版本过低怎么解决)

来源:原点资讯(www.yd166.com)时间:2024-06-17 13:23:48作者:YD166手机阅读>>

如何理解jre,jre版本过低怎么解决(1)

Java开发工具包(JDK),Java虚拟机(JVM)和Java运行时环境(JRE)共同构成了用于开发和运行Java应用程序的Java平台组件的强大功能。我之前介绍过JDK和JVM。 在本快速教程中,您将了解JRE,它是Java的运行时环境。

实际上,运行时环境是一种旨在运行其他软件的软件。作为Java的运行时环境,JRE包含Java类库,Java类加载器和Java虚拟机。在这个系统中:

  • 类加载器是负责正确加载类,并将其与Java核心类库连接。
  • JVM负责确保Java应用程序,他们需要运行在您的设备或云环境中表现良好的资源。
  • JRE主要是针对那些其他组件的容器,并负责策划的活动。
什么是运行时环境?

软件程序需要执行,并且需要一个环境才能运行。运行时环境加载类文件并确保可以访问内存和其他系统资源来运行它们。过去,大多数软件使用操作系统(OS)作为其运行时环境。该程序在其所在的任何计算机内部运行,但依赖于操作系统设置来进行资源访问。在这种情况下,资源将是内存和程序文件以及依赖项。Java运行时环境改变了这一切,至少对Java程序而言。

Java运行时环境

我们可以将软件视为一系列位于系统硬件之上的层。每个层都提供将由其上方的层使用(和要求)的服务。Java Runtime Environment是一个在计算机操作系统之上运行的软件层,提供特定于Java的附加服务。

JRE可以平滑操作系统的多样性,确保Java程序几乎可以在任何操作系统上运行而无需修改。它还提供增值服务。自动内存管理是JRE最重要的服务之一,确保程序员不必手动控制内存的分配和重新分配。

简而言之,JRE是一种用于Java程序的元OS。它是抽象的典型示例,将底层操作系统抽象为运行Java应用程序的一致平台。

JRE如何与JVM一起工作

一个Java虚拟机负责执行实时Java程序正在运行的软件系统。JRE是磁盘上的系统,它接收您的Java代码,将其与必要的库相结合,并启动JVM来执行它。

JRE包含Java程序需要运行的库和软件。例如,Java类加载器是Java运行时环境的一部分。这个重要的软件将编译的Java代码加载到内存中,并将代码连接到适当的Java类库。

在我刚才描述的分层视图中,JVM是由JRE创建的。从包的角度来看,JRE包含JVM,如图1所示。

如何理解jre,jre版本过低怎么解决(2)

Java内存和JRE

Java内存由三个组件组成:堆,堆栈和元空间(以前称为permgen)。

  • Metaspace是Java保存程序不变的信息(如类定义)的地方。
  • 堆空间是Java保存可变内容的地方。
  • 堆栈空间是Java存储函数执行和变量引用的地方。
Java 8中的内存管理

在Java 8之前,metaspace被称为permgen。除了是一个更酷的名称,元空间是开发人员如何与Java的内存空间交互的重大变化。以前,您将使用该命令java -XX:MaxPermSize来监视permgen空间的大小。从Java 8开始,Java会自动增加元空间的大小,以适应程序的元需求。Java 8还引入了一个新标志,MaxMetaspaceSize可用于限制元空间大小。

其他内存选项(堆和堆栈)在Java 8中保持不变。

配置堆空间

堆空间是Java内存系统中最动态的部分。您可以使用-Xms和-Xmx标志来告诉Java启动堆有多大,以及允许它变大的程度。了解如何针对特定程序需求调整这些标志是Java中内存管理的一个重要方面。理想的做法是使堆足够大以获得最有效的垃圾收集。也就是说,您希望允许程序运行足够的内存,但您不希望它超出必要的大小。

配置堆栈空间

堆栈空间是函数调用和变量引用排队的地方。堆栈空间是Java编程中第二大臭名昭着的错误的来源:堆栈溢出异常(第一个是空指针异常)。该堆栈溢出异常表明您已经用完了堆栈空间,因为太多了,已预留。通常,当一个或多个方法以循环方式相互调用时,您将获得堆栈溢出,从而将越来越多的函数调用投入到堆栈中。

您可以使用该-Xss开关配置堆栈起始大小。然后堆栈根据程序的需要动态增长。

Java应用程序监视

虽然应用程序监视是JVM的一个功能,但JRE提供了配置选项,这是监视的必要基准。有许多工具可用于监控Java应用程序,从经典(如Unix命令top)到复杂的远程监控解决方案(如Oracle的基础架构监控)。

在这些选项之间是可视化分析器,如VisualVM,允许检查正在运行的JVM。这些工具可以跟踪热点和内存泄漏,以及监视系统中的整体内存消耗。

结论

Java Runtime Environment是磁盘上的程序,用于加载JVM执行的Java应用程序。下载Java Development Kit时默认包含JRE,每个JRE包括核心Java类库,Java类加载器和Java虚拟机。理解JVM,JDK和JRE如何交互是有帮助的,特别是在云和devops环境中工作。在这些环境中,JRE在监视和配置方面比在传统Java应用程序开发中发挥更大的作用。

,

栏目热文

jre是什么文件夹(jre系统库是干什么的)

jre是什么文件夹(jre系统库是干什么的)

首先是JDK JDK(java Development Kit) 是 Java 语言的软件开发工具包(SDK)。 在J...

2024-06-17 13:26:51查看全文 >>

什么是jre(什么是JRE/JDK)

什么是jre(什么是JRE/JDK)

java,从大三上学期就开始接触,只是前几堂课翘掉了。导致,一直弄不明白,Jdk和JRE的区别是什么??经过几年的“钻研...

2024-06-17 13:40:50查看全文 >>

jre总分多少(jre满分多少)

jre总分多少(jre满分多少)

在四月底于比利时列日市(Liège)举办的JRE Congress(欧洲青年餐饮经理人协会大会)上,来自斯洛文尼亚Oš...

2024-06-17 13:16:19查看全文 >>

jre版本是什么(怎么判断自己jre是什么版本)

jre版本是什么(怎么判断自己jre是什么版本)

JRE 创建 JVM 并确保依赖项可供 Java 程序使用。它在开发运营和云配置中发挥着至关重要的作用。Java 开发工...

2024-06-17 13:21:47查看全文 >>

jre干啥的(jre直播)

jre干啥的(jre直播)

因为用的eclipse是免安装版,又碰上Java更新导致文件夹跟着版本号一起变了,最终让eclipse傻傻的找不到原来的...

2024-06-17 13:04:53查看全文 >>

落地是结束的意思吗(我终于明白落地是什么意思)

落地是结束的意思吗(我终于明白落地是什么意思)

· 企业文化到底怎样落地?· 这个“地”究竟在哪里?· 一直在落地,为什么文化问题依然没有解决?· 如何才能激发出组织与...

2024-06-17 13:14:03查看全文 >>

落幕代表着什么(落幕是什么意思可以用在什么地方)

落幕代表着什么(落幕是什么意思可以用在什么地方)

从1996年黄金一代的横空出世,再到03年白金一代的落幕代表着一代人的青春即将结束,曾经轰动全美的最强高中生勒布朗詹姆斯...

2024-06-17 13:04:47查看全文 >>

落幕表达着什么意思(落幕含义)

落幕表达着什么意思(落幕含义)

6月20日,歌手陈俊彤最新单曲《落幕》正式上线并在TME独家播放,此次他独立完成作词作曲,将这首深情而又充满故事感的抒情...

2024-06-17 13:10:16查看全文 >>

落幕是什么意思网络用语(谢幕是什么意思网络用语什么梗)

落幕是什么意思网络用语(谢幕是什么意思网络用语什么梗)

祖国的七十华诞前夕,乐空间也在秋日的北新桥,度过了自己的三周岁生日。乐队的夏天刚过,关于回忆和经典的“乐队的昨天——中国...

2024-06-17 13:20:04查看全文 >>

谢幕和落幕意思有什么区别(结束和落幕是一样的意思吗)

谢幕和落幕意思有什么区别(结束和落幕是一样的意思吗)

谢幕与入场,作者心静如水。朗读者心静如水。在人的世界里,该出的事就要出。老年丧子、中年丧偶、少年失母、男戴绿女劈腿,都是...

2024-06-17 13:21:51查看全文 >>

文档排行