运行时数据区

运行时数据区

在这里插入图片描述
在这里插入图片描述

  • 方法区

    1. Method Area,用于存储已被虚拟机加载的类信息(、、)、常量、静态变量、即时编译后的代码等数据
    2. 线程公用
    3. 类信息
      • 类型信息:类class、接口interface、注解annotation、枚举enum
      • 域Field信息:字段名称、字段类型、字段修饰符
      • 方法method信息:方法名称、方法返回值类型、参数数量和类型、修饰符、方法的字节码、操作数栈、局部变量表以及大小、异常表
  • Java堆

    1. Java Heap,Java虚拟机中内存最大的一块,是线程共享的,几乎所有的对象实例都会在这里进行分配。

    2. 当一个对象进过逃逸分析,确定对象的作用域只在方法内,不会被其它方法获取到时,会使用标量替换,将对象分解成一个个的属性值,直接分配到栈上,等方法执行完成,栈帧销毁时,顺便将对象一块销毁,减少垃圾回收的工作量。

    3. 对于每一个线程,在Java堆上都有一块私有的内存区域,叫做TLAB(Thread Local Allocation Buffer)线程本地分配缓存,用于新生成对象的分配。因为是线程私有,不用加锁,加快对象的生成。该区域的大小是JVM运行时计算得到的,适合小对象的存放。生成的对象过大,TLAB存储不小时,还是需要去共有区域进行内存的分配。

    4. 线程公用

    5. 存放的对象实例

      • 对象实例
        1. 类初始化生成的对象
        2. 基本数据类型的数据也是对象实例
      • 字符串常量池
        1. JDK6以及之前存放在方法区,JDK7之后存储在堆中
        2. 字符串常量池中存放的是String对象的直接引用,对象还是放在常量池区域外的堆中。
      • 静态变量
        1. JDK7时从方法区迁移至堆中
  • 虚拟机栈

    1. Java Virtual Machine Stacks,用于存储方法栈帧,每个栈帧中存放方法需要的局部变量表、操作数栈、动态链接、方法出口等信息。
    2. 线程私有
    3. 如果线程请求的栈深度大于虚拟机规定的栈深度,会抛出StackOverFlowError。
    4. 如果栈容量可以动态扩展,扩展时如果申请不到内容,会抛出OutOfMemoryError。
  • 本地方法栈

    1. Native Method Stack,与虚拟机栈的作用是一样的,是为本地(Native)方法服务的。
    2. 线程私有
  • 程序计数器

    1. Program Counter Register,用于标记吓一条要执行的字节码的位置,分支、循环、跳转、异常处理、线程恢复等基础功能,都需要依赖这个计数器完成。
    2. 线程私有,是唯一一个不会存在溢出的区域

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/397034.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

某MDM主数据管理系统与微软Dynamic CRM系统(新加坡节点)集成案例

一、项目背景 某客户需要将物料和配件等主数据和海外系统进行对接,由SAP PO在中间对接海外系统,进行主数据的下发,方便两端系统之间进行对接,集团统一性管理国内海外数据,提高整体业务效率,保证数据的时…

基于Java中的SSM框架实现在线收银系统项目【项目源码+论文说明】

基于Java中的SSM框架实现在线收银系统演示 摘要 科技的力量总是在关键的地方改变着人们的生活,不仅如此,我们的生活也是离不开这样或者那样的科技改变,有的消费者没有时间去商场购物,那么电商和快递的结合让端口到消费者的距离不…

气膜建筑的抗风与防火性能:保障仓储的安全—轻空间

气膜建筑以其独特的结构和材料优势,为仓储设施提供了可靠的安全保障。在应对自然灾害特别是强风和火灾时,气膜建筑展示了优异的抗风和防火性能。轻空间将详细探讨这些性能及其在实际应用中的表现。 气膜建筑的抗风能力源于其特殊的结构设计和高性能材料。…

ZLM+wvp-pro使用错误记录

这里千万不要写127.0.0.1 在同步国标同步的时候,会出现接口不可达。以下是抓包工具抓的内容 这个时候就很奇怪了,这是为什么呢,这个时候我们通过telnet来判断一下,会发现端口占用,那么这个时候为什么说端口不可达。。。…

一站搞定原型链:深入理解JavaScript的继承机制

目录 一站搞定原型链:深入理解JavaScript的继承机制 一、基本概念 1. 对象与原型 2. 构造函数 二、原型链 三、原型链的终点 四、原型链的构造 1. 创建对象 2. 原型对象的原型 五、继承 1. 原型继承 2. Class 语法糖 六、总结 作者:watermel…

冥想第一千二百四十八天(12478)

1.今天周日,被今天的天气治愈了,空气特别的好。 2.先去游泳了1个小时,中午和家人一起吃饭。 3.下午没再出去了。给溪溪桐桐洗了澡。 4.感谢父母,感谢朋友,感谢家人,感谢不断进步的自己。

Linux应用层开发(7):网络编程

互联网对人类社会产生的巨大变革,大家是有目共睹的,它几乎改变了人类生活的方方面面。互联网通信的本质是数字通信,任何数字通信都离不开通信协议的制定,通信设备只有按照约定的、统一的方式去封装和解析信息,才能实现…

STM32的USB接口介绍

STM32 USB接口是STM32微控制器系列中集成的一种通信接口,它允许STM32微控制器与外部设备或计算机进行高速的数据传输和通信。以下是STM32 USB接口的简要介绍: 1. 接口类型 STM32的USB接口通常支持USB 2.0标准,部分高端型号可能还支持USB 3.…

LVS负载均衡集群部署之—NAT模式的介绍及搭建步骤

一、环境准备 1.准备三台rhel9服务器 服务器名称 主机名 ip地址备注LVS调度服务器lvs.timinglee.org eth0:172.25.254.100(外网) eth1:192.168.0.100(内网) 关闭selinux和防火墙webserver2网站服务器webserver1.timinglee.orgeth0:192.168.…

一行实现88个群智能算法优化混合核极限学习机HKELM的多特征输入单输出的数据回归预测Matlab程序全家桶

一行实现88个群智能算法优化混合核极限学习机HKELM的多特征输入单输出的数据回归预测Matlab程序全家桶 文章目录 前言一行实现88个群智能算法优化混合核极限学习机HKELM的多特征输入单输出的数据回归预测Matlab程序全家桶 一、HKELM模型1. 极限学习机(ELM&#xff0…

【exgcd 扩展欧几里得算法】[ABC340F] S = 1 题解

题意 给定 ( X , Y ) (X,Y) (X,Y),其中 X , Y X,Y X,Y 为整数。求整数 A , B A,B A,B 使得由 ( 0 , 0 ) , ( X , Y ) , ( A , B ) (0,0),(X,Y),(A,B) (0,0),(X,Y),(A,B) 三个点构成的三角形面积为 1 1 1。 思路 将 ( X , Y ) , ( A , B ) (X,Y),(A,B) (X,Y)…

DC-3靶机打靶练习!!!!

先开始还是老样子我的思路: 外网渗透 信息收集 我们在发现了靶机的ip以及靶机开放了80端口,然后收集到了cms 然后去访问页面发现了是有登录口的,win10虚拟机进行后台目录扫描,主机进行弱口令爆破,kali在使用msf模块进…

Basic‘ attribute type should not be a container解决方法

在使用Spring Data JPA的时候,实体类中定义一个用List修饰的成员ip,IDEA会提示Basic‘ attribute type should not be a container错误,导致编译不通过。 查阅一些博客和文档说是Spring Data JPA这个框架会把实体类的属性当做是MySQL数据库中…

sql实战

这里写自定义目录标题 sql实战cmseasy daiqile全局污染 RCE限制16字符传入参数限制传入字符7个限制35字符,并过滤所有英文数字 sql实战 cmseasy 1、/lib/admin/admin.php和/lib/admin/tool/front_class.php源代码中发现,可以伪造IP并且传入ishtml1&…

操作符详解(内含二进制与原、反、补码知识点)--还有超详细图解!一看就会!

前言 今天给大家分享一下C语言操作符的详解,但在此之前先铺垫一下二进制和进制转换与原码、反码、补码的知识点,都有详细的图解,也希望这篇文章能对大家有所帮助,大家多多支持呀! 目录 前言 一、二进制和进制转换 1…

虚拟dom-Diff算法

虚拟dom-Diff算法 vue2 diff算法在vue2中就是patch,通过新旧虚拟dom对比,找到最小变化然后进行dom操作 在页面首次渲染的时候会调用一次patch并创建新的vnode,不会进行深层次的比较,然后再组件中数据发生变化的时候,…

QT事件。

目录 事件 鼠标事件 mousePressEvnet mouseMoveEvent 事件过滤 定时器事件 事件 事件分配机制:当某个事件(鼠标、键盘)发生的时候,窗口就会收到这个事件,并且调用相应的事件处理函数,事件处理函数的命名都是以Event结尾的&…

总线学习6--I2C(EEPROM)

鉴于I2C的项目还是很多,所以又多做了一个试验。 1 环境说明 主控还是树莓派Pico。eeprom用的是之前买的AT24C02。 软件环境还是老朋友micropython。 接线是这样接的。 24C02 PinPico PinVCC3.3VGNDGNDSDAGP16SCLGP17 2 代码 代码如下: from machine …

[Python学习日记-5] Python中的注释

[Python学习日记-5] Python中的注释 简介 注释的示例和使用说明 代码注释原则 简介 随着学习的深入。用不了多久,你就可以写上千甚至上万行的复杂代码啦,有些代码你花了很久写出来,但过了些天再回去看,发现竟然看不懂了&#x…

【wsl】wsl + vscode 中使用 typora 打开 markdown 文件

vscode 连接好wsl 使用Open in External App 一个五星好评的插件Open in External App则可以在vscode中用typora打开md文件,不仅如此,还有设定其他应用打开相应的文件,比如chrome打开html。插件食用方法也比较简单,安装后&#…