openjdk17 jvm 对象 内存溢出 在C++源码体现

##java大对象类

public class MiBigObject {private String f1;private String f2;private String f3;private String f4;private String f5;private String f6;private String f7;private String f8;private String f9;private String f10;private String f11;private String f12;private String f13;private String f14;private String f15;private String f16;private String f17;private String f18;private String f19;private String f20;private Integer i21;private Integer i22;private Integer i23;private Integer i24;private Integer i25;private Integer i26;private Integer i27;private Integer i28;private Integer i29;private Integer i30;private Integer i31;private Integer i32;private Integer i33;private Integer i34;private Integer i35;private Integer i36;private Integer i37;private Integer i38;private Integer i39;private Integer i40;private Long l41;private Long l42;private Long l43;private Long l44;private Long l45;private Long l46;private Long l47;private Long l48;private Long l49;private Long l50;public String getF1() {return f1;}public void setF1(String f1) {this.f1 = f1;}public String getF2() {return f2;}public void setF2(String f2) {this.f2 = f2;}public String getF3() {return f3;}public void setF3(String f3) {this.f3 = f3;}public String getF4() {return f4;}public void setF4(String f4) {this.f4 = f4;}public String getF5() {return f5;}public void setF5(String f5) {this.f5 = f5;}public String getF6() {return f6;}public void setF6(String f6) {this.f6 = f6;}public String getF7() {return f7;}public void setF7(String f7) {this.f7 = f7;}public String getF8() {return f8;}public void setF8(String f8) {this.f8 = f8;}public String getF9() {return f9;}public void setF9(String f9) {this.f9 = f9;}public String getF10() {return f10;}public void setF10(String f10) {this.f10 = f10;}public String getF11() {return f11;}public void setF11(String f11) {this.f11 = f11;}public String getF12() {return f12;}public void setF12(String f12) {this.f12 = f12;}public String getF13() {return f13;}public void setF13(String f13) {this.f13 = f13;}public String getF14() {return f14;}public void setF14(String f14) {this.f14 = f14;}public String getF15() {return f15;}public void setF15(String f15) {this.f15 = f15;}public String getF16() {return f16;}public void setF16(String f16) {this.f16 = f16;}public String getF17() {return f17;}public void setF17(String f17) {this.f17 = f17;}public String getF18() {return f18;}public void setF18(String f18) {this.f18 = f18;}public String getF19() {return f19;}public void setF19(String f19) {this.f19 = f19;}public String getF20() {return f20;}public void setF20(String f20) {this.f20 = f20;}public Integer getI21() {return i21;}public void setI21(Integer i21) {this.i21 = i21;}public Integer getI22() {return i22;}public void setI22(Integer i22) {this.i22 = i22;}public Integer getI23() {return i23;}public void setI23(Integer i23) {this.i23 = i23;}public Integer getI24() {return i24;}public void setI24(Integer i24) {this.i24 = i24;}public Integer getI25() {return i25;}public void setI25(Integer i25) {this.i25 = i25;}public Integer getI26() {return i26;}public void setI26(Integer i26) {this.i26 = i26;}public Integer getI27() {return i27;}public void setI27(Integer i27) {this.i27 = i27;}public Integer getI28() {return i28;}public void setI28(Integer i28) {this.i28 = i28;}public Integer getI29() {return i29;}public void setI29(Integer i29) {this.i29 = i29;}public Integer getI30() {return i30;}public void setI30(Integer i30) {this.i30 = i30;}public Integer getI31() {return i31;}public void setI31(Integer i31) {this.i31 = i31;}public Integer getI32() {return i32;}public void setI32(Integer i32) {this.i32 = i32;}public Integer getI33() {return i33;}public void setI33(Integer i33) {this.i33 = i33;}public Integer getI34() {return i34;}public void setI34(Integer i34) {this.i34 = i34;}public Integer getI35() {return i35;}public void setI35(Integer i35) {this.i35 = i35;}public Integer getI36() {return i36;}public void setI36(Integer i36) {this.i36 = i36;}public Integer getI37() {return i37;}public void setI37(Integer i37) {this.i37 = i37;}public Integer getI38() {return i38;}public void setI38(Integer i38) {this.i38 = i38;}public Integer getI39() {return i39;}public void setI39(Integer i39) {this.i39 = i39;}public Integer getI40() {return i40;}public void setI40(Integer i40) {this.i40 = i40;}public Long getL41() {return l41;}public void setL41(Long l41) {this.l41 = l41;}public Long getL42() {return l42;}public void setL42(Long l42) {this.l42 = l42;}public Long getL43() {return l43;}public void setL43(Long l43) {this.l43 = l43;}public Long getL44() {return l44;}public void setL44(Long l44) {this.l44 = l44;}public Long getL45() {return l45;}public void setL45(Long l45) {this.l45 = l45;}public Long getL46() {return l46;}public void setL46(Long l46) {this.l46 = l46;}public Long getL47() {return l47;}public void setL47(Long l47) {this.l47 = l47;}public Long getL48() {return l48;}public void setL48(Long l48) {this.l48 = l48;}public Long getL49() {return l49;}public void setL49(Long l49) {this.l49 = l49;}public Long getL50() {return l50;}public void setL50(Long l50) {this.l50 = l50;}
}

 ##内存溢出测试代码

import java.util.ArrayList;
import java.util.List;public class OutOfMemoryTest {public static void main(String[] args) {List<MiBigObject> miBigObjects = new ArrayList<>();while(true) {MiBigObject miBigObject = new MiBigObject();miBigObject.setF1("t1");miBigObject.setF2("t2");miBigObject.setF3("t3");miBigObject.setF4("t4");miBigObject.setF5("t5");miBigObject.setF6("t6");miBigObject.setF7("t7");miBigObject.setF8("t8");miBigObject.setF9("t9");miBigObject.setF10("t10");miBigObject.setF11("t11");miBigObject.setF12("t12");miBigObject.setF13("t13");miBigObject.setF14("t14");miBigObject.setF15("t15");miBigObject.setF16("t16");miBigObject.setF17("t17");miBigObject.setF18("t18");miBigObject.setF19("t19");miBigObject.setF20("t20");miBigObject.setI21(1);miBigObject.setI22(2);miBigObject.setI23(3);miBigObject.setI24(4);miBigObject.setI25(5);miBigObject.setI26(6);miBigObject.setI27(7);miBigObject.setI28(8);miBigObject.setI29(9);miBigObject.setI30(10);miBigObject.setI31(11);miBigObject.setI32(12);miBigObject.setI33(13);miBigObject.setI34(14);miBigObject.setI35(15);miBigObject.setI36(16);miBigObject.setI37(17);miBigObject.setI38(18);miBigObject.setI39(19);miBigObject.setI40(20);miBigObject.setL41(21L);miBigObject.setL42(22L);miBigObject.setL43(23L);miBigObject.setL44(24L);miBigObject.setL45(25L);miBigObject.setL46(26L);miBigObject.setL47(27L);miBigObject.setL48(28L);miBigObject.setL49(29L);miBigObject.setL50(30L);miBigObjects.add(miBigObject);}}}

##gdb调试内存溢出堆栈

#0  MemAllocator::Allocation::check_out_of_memory (this=0x7ffff7bfe660) at /home/yym/openjdk17/jdk17-master/src/hotspot/share/gc/shared/memAllocator.cpp:126
#1  0x00007ffff677afee in MemAllocator::Allocation::~Allocation (this=0x7ffff7bfe660, __in_chrg=<optimized out>)at /home/yym/openjdk17/jdk17-master/src/hotspot/share/gc/shared/memAllocator.cpp:84
#2  0x00007ffff677a0ab in MemAllocator::allocate (this=0x7ffff7bfe6d0) at /home/yym/openjdk17/jdk17-master/src/hotspot/share/gc/shared/memAllocator.cpp:373
#3  0x00007ffff6351067 in CollectedHeap::obj_allocate (this=0x7ffff00453d0, klass=0x1000c1000, size=27, __the_thread__=0x7ffff0028920)at /home/yym/openjdk17/jdk17-master/src/hotspot/share/gc/shared/collectedHeap.inline.hpp:36
#4  0x00007ffff6344c81 in InstanceKlass::allocate_instance (this=0x1000c1000, __the_thread__=0x7ffff0028920)at /home/yym/openjdk17/jdk17-master/src/hotspot/share/oops/instanceKlass.cpp:1375
#5  0x00007ffff69579f7 in OptoRuntime::new_instance_C (klass=0x1000c1000, current=0x7ffff0028920) at /home/yym/openjdk17/jdk17-master/src/hotspot/share/opto/runtime.cpp:219
#6  0x00007fffe1082145 in ?? ()
#7  0x00000000fdd65108 in ?? ()
#8  0x00007fffe8bdba68 in ?? ()
#9  0x00007fffd9c0e800 in ?? ()
#10 0x00007fffd9c16138 in ?? ()
#11 0x00000000fdd758d8 in ?? ()
#12 0x00007fffd9c0fc50 in ?? ()
#13 0x0000000000000000 in ?? ()

##

#0  MemAllocator::Allocation::check_out_of_memory (this=0x7ffff7bfe180) at /home/yym/openjdk17/jdk17-master/src/hotspot/share/gc/shared/memAllocator.cpp:126
#1  0x00007ffff677afee in MemAllocator::Allocation::~Allocation (this=0x7ffff7bfe180, __in_chrg=<optimized out>)at /home/yym/openjdk17/jdk17-master/src/hotspot/share/gc/shared/memAllocator.cpp:84
#2  0x00007ffff677a0ab in MemAllocator::allocate (this=0x7ffff7bfe1f0) at /home/yym/openjdk17/jdk17-master/src/hotspot/share/gc/shared/memAllocator.cpp:373
#3  0x00007ffff6351067 in CollectedHeap::obj_allocate (this=0x7ffff00453d0, klass=0x1000c1000, size=27, __the_thread__=0x7ffff0028920)at /home/yym/openjdk17/jdk17-master/src/hotspot/share/gc/shared/collectedHeap.inline.hpp:36
#4  0x00007ffff6344c81 in InstanceKlass::allocate_instance (this=0x1000c1000, __the_thread__=0x7ffff0028920)at /home/yym/openjdk17/jdk17-master/src/hotspot/share/oops/instanceKlass.cpp:1375
#5  0x00007ffff5eda4f4 in Runtime1::new_instance (current=0x7ffff0028920, klass=0x1000c1000) at /home/yym/openjdk17/jdk17-master/src/hotspot/share/c1/c1_Runtime1.cpp:360
#6  0x00007fffe1085ba7 in ?? ()
#7  0x00007ffff7bfe300 in ?? ()
#8  0x0000000000000000 in ?? ()

##check_out_of_memory()方法源码 传送门

openjdk17 jvm byte数组 内存溢出 在C++源码体现-CSDN博客

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

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

相关文章

HCIE:详解OSPF,从基础到高级特性再到深入研究

目录 前言 一、OSPF协议基本原理 简介 基本原理 OSPF路由器类型 OSPF网络类型 OSPF报文类型和封装 OSPF邻居的建立的维护 DR和BDR的选举 伪节点 LSDB的更新 OSPF的配置 二、OSPF的高级特性 虚连接&#xff08;Virtual-Link&#xff09; OSPF的LSA和路由选择 OSPF…

C++算法练习-day45——236.二叉树的最近公共祖先

题目来源&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目思路分析 题目要求在一个二叉树中找到两个给定节点的最低公共祖先&#xff08;Lowest Common Ancestor, LCA&#xff09;。最低公共祖先是指在树中同时包含两个给定节点的所有节点中&#xff0c;深度最大的…

think php处理 异步 url 请求 记录

1、需求 某网站 需要 AI生成音乐&#xff0c;生成mp3文件的时候需要等待&#xff0c;需要程序中实时监听mp3文件是否生成 2、用的开发框架 为php 3、文件结构 配置路由设置 Route::group(/music, function () {Route::post(/musicLyrics, AiMusic/musicLyrics);//Ai生成歌词流式…

【VRChat 改模】开发环境搭建:VCC、VRChat SDK、Unity 等环境配置

一、配置 Unity 相关 1.下载 UnityHub 下载地址&#xff1a;https://unity.com/download 安装打开后如图所示&#xff1a; 2.下载 VRChat 官方推荐版本的 Unity 跳转界面&#xff08;VRChat 官方推荐页面&#xff09;&#xff1a;https://creators.vrchat.com/sdk/upgrade/…

AJAX 实时搜索

AJAX 实时搜索 AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;实时搜索是一种无需刷新整个网页就能从服务器获取数据并在网页上展示的技术。这种技术极大地提升了用户体验&#xff0c;尤其是在搜索引擎、在线购物网站、社交媒体平台等应用中。本文将详细介绍AJ…

ollama部署bge-m3,并实现与dify平台对接

概述 这几天为了写技术博客,各种组件可谓是装了卸,卸了装,只想复现一些东西,确保你们看到的东西都是可以复现的。 (看在我这么认真的份上,求个关注啊,拜托各位观众老爷了。) 这不,为了实验在windows上docker里运行pytorch,把docker重装了。 dify也得重装: Dify基…

详细介绍HTTP与RPC:为什么有了HTTP,还需要RPC?

目录 一、HTTP 二、RPC 介绍 工作原理 核心功能 如何服务寻址 如何进行序列化和反序列化 如何网络传输 基于 TCP 协议的 RPC 调用 基于 HTTP 协议的 RPC 调用 实现方式 优点和缺点 使用场景 常见框架 示例 三、问题 问题一&#xff1a;是先有HTTP还是先有RPC&…

Paddle Inference部署推理(十五)

十五&#xff1a;Paddle Inference推理 &#xff08;python&#xff09;API详解 枚举类型 DataType DataType 定义了 Tensor 的数据类型&#xff0c;由传入 Tensor 的 numpy 数组类型确定。 # DataType 枚举定义 class paddle.inference.DataType:# 获取各个 DataType 对应…

blender 视频背景

准备视频文件 首先&#xff0c;确保你有想要用作背景的视频文件。视频格式最好是 Blender 能够很好兼容的&#xff0c;如 MP4 等常见格式。 创建一个新的 Blender 场景或打开现有场景 打开 Blender 软件后&#xff0c;你可以新建一个场景&#xff08;通过点击 “文件” - “新建…

Elasticsearch与NLP的深度融合:文本嵌入与向量搜索实战指南

Elasticsearch与NLP的深度融合:文本嵌入与向量搜索实战指南 引言 在当今信息爆炸的时代,如何从海量文本数据中快速准确地检索出相关信息,成为了一个迫切需要解决的问题。自然语言处理(NLP)技术的发展为这一挑战提供了新的解决方案。Elasticsearch,作为一个强大的搜索引…

Lesson 10 GNN

听课&#xff08;李宏毅老师的&#xff09;笔记&#xff0c;方便梳理框架&#xff0c;以作复习之用。本节课主要讲了生成式对抗网络&#xff08;GNN&#xff09;。 目录 Generation Network as Generator 到目前为止&#xff0c;我们学习到的是类似于函数的network&#xf…

Delphi 内置的用于 SOAP WebService 的数据类型定义

记录一下备查。 数据定义在这个单元&#xff1a;unit Soap.InvokeRegistry; 比如&#xff1a; TByteSOAPArray array of Byte;TIntegerSOAPArray array of Integer;TCardinalSOAPArray array of Cardinal;TWordSOAPArray array of Word;TSmallIntSOAPArray array of Sma…

Qt creator设置程序图标

1.windows 在.pro加入 RC_ICONS XXX.ico Qt 只能使用.ico图片设置为程序图标&#xff0c;若是其他图片&#xff0c;需转换为.ico. png在线转ico:PNG to ICO | Convert PNG to ICO online for free 2.其他平台 Qt 设置应用程序图标并没有跨平台&#xff1a; https://doc…

JSON数据转化为Excel及数据处理分析

在现代数据处理中&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;因其轻量级和易于人阅读的特点而被广泛使用。然而&#xff0c;有时我们需要将这些JSON数据转化为Excel格式以便于进一步的分析和处理。本文将介绍如何将JSON数据转化为Excel文件&#xff0…

Scala入门基础(20)数据集复习拓展

一.Stack栈二.Queue 队列 一.Stack栈 Stack:栈&#xff0c;特殊的结构。它对元素的操作是在头部&#xff1a;栈顶 先进后出的队列。pop表示取出&#xff0c;push表示在栈中添加元素 二.Queue 队列 Queue 队列;先进先出.enqueue入队&#xff0c;dequeue出队。

Pandas 数据读取与导出

Pandas 是一个强大的 Python 库&#xff0c;用于数据处理和分析。它提供了许多函数来读取和导入数据&#xff0c;支持多种文件格式&#xff0c;如 CSV、Excel、SQL 数据库、JSON 等。以下是一些常用的数据读取和导出方法&#xff1a; 常用方法 格式文件格式读取函数写入&…

Ubuntu20.04运行DM-VIO

目录 环境配置非ROS环境运行编译运行结果图 ROS环境参考 环境配置 Ubuntu20.04 将项目中Cmakelists.txt中C 和 opencv版本修改下 C 使用 14 opencv使用4 非ROS环境运行 编译 按照官网即可 cd dm-vio mkdir build cd build cmake .. make -j运行 DM-VIO给的命令是 bin/d…

TDengine 签约深圳综合粒子,赋能粒子研究新突破

在高能物理和粒子研究领域&#xff0c;实验装置的不断升级伴随着海量数据的产生与处理。尤其是随着大湾区综合性国家科学中心的建设步伐加快&#xff0c;深圳综合粒子设施研究院&#xff08;以下简称“研究院”&#xff09;作为承载“双区驱动”战略的重要科研机构&#xff0c;…

IDEA连接Apifox客户端

IDEA连接Apifox客户端 一、下载Apifox安装包二、IDEA配置三、配置Apifox和IDEA项目同步 一、下载Apifox安装包 Apifox官网&#xff0c;根据自己的操作系统下载对应的Apifox安装包&#xff0c;我是windows系统所以下载的是windows版。 下载 默认仅为我安装&#xff0c;点击下一…

(C语言) 8大翻译阶段

(C语言) 8大翻译阶段 文章目录 (C语言) 8大翻译阶段⭐前言&#x1f5c3;️8大阶段&#x1f5c2;️1. 字符映射&#x1f5c2;️2. 行分割&#x1f5c2;️3. 标记化&#x1f5c2;️4. 预处理&#x1f5c2;️5. 字符集映射&#x1f5c2;️6. 字符串拼接&#x1f5c2;️7. 翻译&…