读书笔记<深入理解JVM>01 关于OutOfMemoryError 堆空间的溢出
代码片段如下:
package com.gosaint.shiro; import java.util.ArrayList;
import java.util.List; public class HeadOOM {
static class OOMObject{ } public static void main(String[] args) {
List<OOMObject> list=new ArrayList<OOMObject>();
while(true){
list.add(new OOMObject());
}
} }
配置主方法运行参数:
-verbose:gc -Xms20m -Xmx20m -XX:+PrintGCDetails -XX:SurvivorRatio=8
异常如下:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:3210)
at java.util.Arrays.copyOf(Arrays.java:3181)
at java.util.ArrayList.grow(ArrayList.java:265)
at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:239)
at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:231)
at java.util.ArrayList.add(ArrayList.java:462)
at com.gosaint.shiro.HeadOOM.main(HeadOOM.java:14)
读书笔记<深入理解JVM>01 关于OutOfMemoryError 堆空间的溢出的更多相关文章
- 读书笔记-深入理解JVM虚拟机-1.OOM初探
		Java堆OOM(Out-Of-Memory)异常 执行例如以下程序,爆出异常 java.lang.OutOfMemoryError: Java heap space /** * VM Args:-X ... 
- 20150206读书笔记<深入理解计算机系统>
		●第一章 C是系统级编程的首选.C++显示支持抽象,属于应用级程序设计语言. 简单例子: 一个典型系统的硬件组成: 存储器的层次结构: 注:存储器层次结构的设计思想是,该层存储器作为下一层存储器的高速 ... 
- python 进阶读书笔记1 -- 理解python一切皆对象
		理解python一切皆对象: 1.所有的类都是由type创建的 2.所有的类的基类都是object 3.type是类,也是实例,type的基类是object,type对象是由type创建的 4.obj ... 
- 【读书笔记::深入理解linux内核】内存寻址【转】
		转自:http://www.cnblogs.com/likeyiyy/p/3837272.html 我对linux高端内存的错误理解都是从这篇文章得来的,这篇文章里讲的 物理地址 = 逻辑地址 – 0 ... 
- 【读书笔记::深入理解linux内核】内存寻址
		我对linux高端内存的错误理解都是从这篇文章得来的,这篇文章里讲的 物理地址 = 逻辑地址 – 0xC0000000:这是内核地址空间的地址转换关系. 这句话瞬间让我惊呆了,根据我的CPU的知识,开 ... 
- 20150207读书笔记<深入理解计算机系统2-1>
		第二章 信息存储 (1) 多数计算机以一个字节作为最小可寻址的存储器单元. 机器级程序将存储器看成一个非常大的字节数组,称为虚拟存储器. 存储器的每个字节都由唯一的数字标识,称为它的地址. 所有可能 ... 
- JS框架设计读书笔记之-选择器引擎01
		选择符 选择符是指CSS样式规则最左边的部分,例如 p{},#id{},.class{},p.class{} 等等 总共可以分为四大类: 并联选择器 => 逗号 => $('div,spa ... 
- 《Linux命令行与shell脚本编程大全》- 读书笔记3 - 理解shell
		当用户登录终端的时候,通常会启动一个默认的交互式shell.系统究竟启动哪个shell,这取决于用户配置.一般这个shell都是/bin/shell.默认的系统shell(/bin/sh)用于系统sh ... 
- 【读书笔记 - Effective Java】01. 考虑用静态工厂方法代替构造器
		获取类的实例有两种方法: 1. 提供一个公有的构造器(最常用). 2. 提供一个公有的静态工厂方法(static factory method). // 静态工厂方法示例 public static ... 
随机推荐
- 转:autofac在mvc和webapi集成的做法
			本文转自:http://www.cnblogs.com/Hai--D/p/5992573.html var builder = new ContainerBuilder(); // Mvc Regis ... 
- web自动化:selenium原理和元素定位(一)
			一. Selenium2 WebDriver 当Selenium2.x提出了WebDriver的概念后,它提供了完全另外的一种方式与浏览器交互 那就是利用浏览器原生的API,封装成一套更加面向对象的S ... 
- 在struts2.5版本中使用DMI遇到问题
			struts2.5 为了提升安全性,添加了 allomethod 这么个玩意. 解决方法是在配置文件中添加: <package name="exam" extends=&qu ... 
- vue中的懒加载和按需加载
			懒加载 (1)定义:懒加载也叫延迟加载,即在需要的时候进行加载,随用随载. (2)异步加载的三种表示方法: 1. resolve => require([URL], resolve),支持性好 ... 
- vs 2005/2008/2010 ATL ActiveX控件显示XP风格
			vs 2005/2008/2010 ATL ActiveX控件在IE浏览器中控件显示的是原始的风格,要显示XP风格只要进行以下操作 一.在Stdafx.h中增加下以内容 #if defined _M_ ... 
- UVALive 3708  Graveyard(思维题)
			将原有的每个雕塑的坐标位置,映射在一个总长为n+m的数轴上,设第一个点的坐标为0,(新的等分点必然有至少有一个和原来n等分的等分点重合,因为等分点可以等距的绕圆周旋转,总可以转到有至少一个重合的,不妨 ... 
- hdu 4445 Crazy Tank(物理过程枚举)
			遇到物理题,千万不要一味的当成物理题去想着推出一个最终结果来,这样ACM竞赛成了物理比赛,出题人就没水平了...往往只需要基础的物理分析,然后还是用算法去解决问题.这题n小于等于200,一看就估计是暴 ... 
- 使用jsonp跨域调用百度js实现搜索框智能提示(转)
			http://www.cnblogs.com/oppoic/p/baidu_auto_complete.html 项目中常常用到搜索,特别是导航类的网站.自己做关键字搜索不太现实,直接调用百度的是最好 ... 
- java web service 上传下载文件
			1.新建动态web工程youmeFileServer,新建包com,里面新建类FileProgress package com; import java.io.FileInputStream; imp ... 
- UVA 11637   Garbage Remembering Exam
			#include <iostream> #include <stdio.h> #include <cstring> #include <math.h> ... 
