Java开发工具包(JDK),Java虚拟机(JVM)和Java运行时环境(JRE)共同构成了用于开发和运行Java应用程序的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类库.

Java内存和JRE

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

Metaspace是Java保存程序不变的信息(如类定义)的地方.

堆空间是Java保存可变内容的地方.

堆栈空间是Java存储函数执行和变量引用的地方.

以上就是

什么为java运行时的环境_什么是JRE?Java运行时环境简介(一)相关推荐

  1. 安装jre运行环境_如何下载安装java运行环境jre

    如果你只需要运行Java程序或Applet,下载并安装它即可.如果你要自行开发Java软件,请下载JDK.在JDK中附带有JRE.注意由于Microsoft对Java的支持不完全,请不. . Java ...

  2. 此安装程序必须使用 java 开发工具包 (jdk) 执行_彻底搞懂Java开发工具包(JDK)安装及环境变量配置...

    [官方正版]java jdk 9学习笔记 78.4元 包邮 (需用券) 去购买 > 一.Java 和 JDK 是什么 Java:Java是一种优秀的程序设计语言,它有非常多的语言特性,如简单性. ...

  3. maven 打包时缺少文件_(三)Java资源文件和路径相关扫盲

    本来打算接着上文直接写登录功能的,顺便介绍下SpringSecurity,但是SpringSecurity和Spring以及SpirngBoot是如何衔接的又是个较为复杂的事情.看了下SpringBo ...

  4. java 读取excel2007 内存不足_内存不足错误 – 写入Excel时的Java堆空间

    我有近100,000条记录的数据,我正在尝试使用XSSFWorkbook通过 Java代码将数据写入.xlsx文件.我能够将数据库中的所有数据提取到ArrayList.通过迭代ArryList,我将数 ...

  5. java 启动进行并命名_如何解决这个“java.io.IOException:不能重命名原始文件”启动tomcat 5.5时?...

    java.io.IOException: Cannot rename original file to C:\Program Files\Apache Software Foundation\Tomc ...

  6. java编写代码用什么_如何学习用Java编写代码:为什么要学习以及从哪里开始

    java编写代码用什么 by John Selawsky 约翰·塞劳斯基(John Selawsky) 如何学习用Java编写代码:为什么要学习以及从哪里开始 (How to learn to cod ...

  7. java能搞底层吗_彻底搞清楚Java并发 (二) 底层实现

    Java代码 -> Java字节码 -> 汇编指令(汇编指令是cpu指令的集合) Volatile Java语言提供了Volatile,在某些情况下比上锁要更加方便,如果一个成员变量被声明 ...

  8. java C语言内存占用_使用Cgroup限制Java使用的内存量-思路

    1.      对一个正在运行着的进程来说,在不到达其内存使用量边界的情况下,扩大/缩小其cgroup分配的内存不会对它产生任何影响. 2.      在进程已经使用了一定量的内存的情况下,缩小其cg ...

  9. java 子线程传参_踩坑之Java执行Linux命令死锁阻塞挂起

    1 问题背景 最近在做一个需求需要调用linux下的某个脚本来对ai的模型进行训练,很简单的需求,我像往常一样写下如下的代码片段: Process process = Runtime.getRunti ...

最新文章

  1. tcp协议缓冲区溢出_关于TCP 粘包拆包,你了解吗?
  2. $python爬虫系列(1)——一个简单的爬虫实例
  3. 中国在线英语培训行业投资热点分析与需求前景预测报告2022版
  4. mysql数据库配置文件my.ini
  5. FastDFS文件上传和下载流程
  6. 160 - 17 bjanes.3
  7. Notepad++插件Base64编解码
  8. mysql语句1=1_mysql - “where 1 = 1”语句
  9. Matlab图形加网格
  10. [HDU1712]ACboy needs your help
  11. python 函数重载_python中有函数重载吗
  12. 在VC中使用Windows管道技术编程
  13. 半边数据结构(The_Half-Edge_Data_Structure)
  14. 吴恩达机器学习作业代码(python)
  15. mysql基础面试题大全
  16. ubuntu局域网服务器搭建网站,ubuntu搭建局域网dns服务器
  17. uniapp页面打印pdf文件
  18. STM32F401RCT6最小系统原理图设计
  19. 图神经网络解释性问题综述
  20. 交互体验设计优秀的产品

热门文章

  1. php显示json,PHP解决JSON中文显示问题
  2. hough变换检测圆周_Python OpenCV 霍夫变换
  3. java类加载过程_java类的加载过程
  4. 安装php no permision,php安装过程中的No package ‘xxx’ found问题
  5. 求逆矩阵计算器_991CN的矩阵运算
  6. python pep8模块_读懂PEP8,让你的Python代码更加优雅
  7. linux grub rescue 光盘,Ubuntu9.10用安装光盘如何进入linux rescue方式?
  8. php smarty分页原理,SMARTY分页详解
  9. python程序设计上机实践第三章答案_20192419 实验三《Python程序设计》实验报告
  10. linux的sonar安装,Linux安装sonar