堆溢出,栈溢出的出现场景以及解决方案
2020-07-14 04:23
363 查看
堆溢出的情况及解决方案
- OutofMemoryError:Java heap space 堆内存中的空间不足以存放新创建的对象
- OutOfMemoryError: GC overhead limit exceeded 超过98%的时间用来做GC并且回收了不到2%的堆内存
- OutOfMemoryError: Direct buffer memory 堆外内存
- OutofMemoryError:unable to create new native thread
解决方案:
- OutOfMemoryError: Metaspace 元数据区(Metaspace) 已被用满
解决方案:-XX:MaxMetaspaceSize=512m
设计一个堆溢出的程序:https://www.geek-share.com/detail/2799588654.html
栈溢出几种情况及解决方案
- 局部数组过大。当函数内部的数组过大时,有可能导致堆栈溢出。
- 递归调用层次太多。递归函数在运行时会执行压栈操作,当压栈次数太多时,也会导致堆栈溢出。
- 指针或数组越界。这种情况最常见,例如进行字符串拷贝,或处理用户输入等等。
解决这类问题的办法有两个
- 增大栈空间
- 改用动态分配,使用堆(heap)而不是栈(stack)
- 直接查询生产环境服务器内存占用情况,通过命令定位到具体的那行代码
相关文章推荐
- C++中浅拷贝和深拷贝问题的出现以及解决方案
- 真实项目中出现的问题以及解决方案
- DL开源框架Caffe | 模型微调 (finetune)的场景、问题、技巧以及解决方案
- 给Eclipse安装eUML2插件以及可能出现的依赖错误解决方案(转)
- 给Eclipse安装eUML2插件以及可能出现的依赖错误解决方案
- iis 经常出现的问题以及解决方案
- SSH整合JSON出现的错误以及解决方案
- centos7部署瓦力可能出现的错误以及解决方案
- 编译时常出现缺少库的问题以及解决方案
- 【华为云技术分享】使用keil5打开GD32F450i的MDK项目出现的问题以及J-Link无法烧录程序对应的解决方案
- 用示例说明索引数据块中出现热块&Latch的场景,并给出解决方案
- 中国省份按照拼音排序出现的问题以及临时解决方案
- 记录ionic中出现的问题以及解决方案
- Python安装matplotlib作图步骤,以及出现的问题解决方案
- Android Animation实现元素在屏幕上按照指定轨迹运动,以及出现NullPointerException的解决方案
- unity3d 图集图片出现切边的解决方案 ios8的屏幕横屏解决方案 以及屏幕适配
- mac 系统下 sublime text2 出现Node.js 路径问题 以及解决方案
- iis 经常出现的问题以及解决方案
- Android重新安装以及出现的一些问题和解决方案
- 安装CentOS 7.4 可能会出现的坑以及解决方案