印象中,这是项目中首次遇到 StackOverflowError,在此做个笔记。

  (吃饭回来写)

  ……

  吃饭回来后,尝试把代码回退来分析异常产生原因,然而却无法复现这个栈溢出异常……醉了

  有缘再见再写吧

-------------------------------------------------

  索性做点栈溢出相关知识点笔记吧:

StackOverFlowError 的分析和理解

1. 在java虚拟机规范中,定义了在虚拟机栈和本地方法栈中会产生 StackOverflowError

2. 虚拟机栈和本地方法栈一般就是我们说的java内存管理中的栈

3. 虚拟机栈和本地方法栈是线程之间的独立内存,每一个线程在创建时,java虚拟机都会给该线程分配一块独立的内存区域,一般将此内存区域划分为虚拟机栈,本地方法栈,程序计数器

4. 虚拟机栈中存储了方法执行时相关信息,每个方法在调用时都会在虚拟机栈中创建一个方法帧,方法帧中包含了局部变量,操作数,动态链接,方法出口等信息

5. 本地方法栈和虚拟机栈基本相同,不同的是本地方法栈是针对线程中的native方法

6. 程序计数器包含了一个程序执行指针,指向了字节码当前执行的行数

7. 在java虚拟机规范中,虚拟机栈和本地方法栈都会出现StackOverflowError和OutofMemoryError,程序计数器是java虚拟机中唯一一块不会产生error的内存区域

8. StackOverflowError代表的是,当栈深度超过虚拟机分配给线程的栈大小时就会出现此error

9. OutofMemoryError代表的是,当再申请新的内存时,虚拟机分配给线程的内存大小中无法再分配新的内存,就会出现此error

10. -Xss1024M虚拟机参数可以设置虚拟机分配给每个线程的内存大小,程序计数器占很小的内存(可以忽略),一般此内存和线程栈内存相等

11. 在HotSpot虚拟机中,是将虚拟机栈和本地方法栈合二为一的

最新文章

  1. 问题解决——CVSListBox的使用
  2. [译]How to Setup Sync Gateway on Ubuntu如何在ubuntu上安装sync-gateway
  3. Border Tree笔记
  4. GIT 专贴
  5. Facebook React完全解析
  6. 骇客(Hacker)用语
  7. ueditor1.4.3 在IE8下的 BUG
  8. 201521123063 《java程序设计》第六周学习总结
  9. 剖析非同质化代币ERC721-全面解析ERC721标准
  10. MySQL 数据库死锁
  11. JAVA程序错误总结
  12. linux和windows共享目录
  13. 简易远程消息交换协议SRMP
  14. iis 限制动态IP地址访问次数
  15. mac python3 conda pytorch出错:libc++abi.dylib: terminating with uncaught exception of type NSException
  16. Python自动化开发 - RESTful API
  17. [APM] 解读2016之APM国内篇:快速增长的APM市场和技术
  18. django之http
  19. BZOJ 1040 骑士 基环树 树形DP
  20. [算法][LeetCode]Spiral Matrix

热门文章

  1. 微信小程序实现navbar导航栏
  2. rocketMq消息的发送和消息消费
  3. 解MySQL基准测试和sysbench工具
  4. win10 Snipaste 截图软件
  5. Java 概述和编程基础
  6. mysql45讲
  7. 怎样将当前节点从DOM树中移除
  8. maven 常见命令 学习笔记(一)之 -pl -am -amd
  9. 【原创】大叔经验分享(56)hue导出行数限制
  10. java基础4(线程)