首页 > 代码库 > 深入理解java虚拟机学习 笔记 第二章 java 内存区域和内存溢出异常
深入理解java虚拟机学习 笔记 第二章 java 内存区域和内存溢出异常
2.2 运行时区域
java虚拟机划分成若干个不同的数据区域,
1.程序计数器,字节码解释器工作时就是通过改变计数器的值来取吓一跳需要执行的字节码命令
了解 String.intern()方法
作用: 如果字符串常量池中一个包含了一个等于此String对象的字符串,则返回代表池中的这个字符串的String对象,否则将此对象包含的字符串添加到常量池中,并返回此String对象的引用。
实战
将堆的最小值 -Xms参数与最大值-Xmx参数设置为一样即可避免堆自动扩展 通过参数 -XX:+HeapDumpOnOutOfMemoryError可以让虚拟机在出现内存溢出异常的时候Dump出当前内存堆转储快照以便事后进行分析
java 堆内存 OOM异常 是常见的, 会出现 java.lang.OutOfMemoryError: Java heap space 使用 eclipse memory analyzer 分析内存溢出
递归,容易出现 StackOverFlowError
方法区和运行时常量区测试思路:运行时候产生大量的类去填满方法区,直到溢出。 CGLib 创建类, 生成classcode 来搞 ,常见的还有 大量的JSP或者动态产生jSP文件应用
eclipse memory analyzer 使用
- 后面要了解的问题
- 了解 String.intern()方法
- eclipse memory analyzer 使用
- jdk和虚拟机的关系
- 如何查看gc日志
深入理解java虚拟机学习 笔记 第二章 java 内存区域和内存溢出异常
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。