示例:

  1. package com.dxz.jvm;
  2.  
  3. import java.lang.reflect.Field;
  4. import sun.misc.Unsafe;
  5.  
  6. /**
  7. * @Described:直接内存溢出测试
  8. * @VM args: -Xmx20M -XX:MaxDirectMemorySize=10M
  9. */
  10. public class DirectoryMemoryOutOfmemory {
  11.  
  12. private static final int ONE_MB = 1024 * 1024;
  13. private static int count = 1;
  14.  
  15. public static void main(String[] args) {
  16. try {
  17. Field field = Unsafe.class.getDeclaredField("theUnsafe");
  18. field.setAccessible(true);
  19. Unsafe unsafe = (Unsafe) field.get(null);
  20. while (true) {
  21. unsafe.allocateMemory(ONE_MB);
  22. count++;
  23. }
  24. } catch (Exception e) {
  25. System.out.println("Exception:instance created " + count);
  26. e.printStackTrace();
  27. } catch (Error e) {
  28. System.out.println("Error:instance created " + count);
  29. e.printStackTrace();
  30. }
  31. }
  32.  
  33. }

JVM异常之:直接内存溢出的更多相关文章

  1. JVM:Java常见内存溢出异常分析

    转载自:http://www.importnew.com/14604.html Java虚拟机规范规定JVM的内存分为了好几块,比如堆,栈,程序计数器,方法区等,而Hotspot jvm的实现中,将堆 ...

  2. JVM探秘2--详解内存溢出OutOfMemoryError异常

    JVM运行时内存被划分成多个区域,而除了程序计数器之外,其他几个区都会出现OutOfMemoryError异常,主要原因就是对应内存区域的内存不足以再分配内存,一般要么是内存泄漏了要么就是内存参数设置 ...

  3. 【JVM】TroubleShooting之内存溢出异常(OOM)与调优

    1. OOM概述 If your application's execution time becomes longer and longer, or if the operating system ...

  4. JVM异常之:堆溢出OutofMemoryError

    1.堆溢出 Java 堆内存的OutOfMemoryError异常是实际应用中最常见的内存溢出异常情况.出现Java 堆内存溢出时,异常堆栈信息“java.lang.OutOfMemoryError” ...

  5. JVM系列之六:内存溢出、内存泄漏 和 栈溢出

    1. OOM && SOF OutOfMemoryError异常: 除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError(OOM)异常的可能, 内存 ...

  6. JVM(五) 生产环境内存溢出调优

    1.gc配置参数 1.1 控制台打印gc日志 -verbose:gc -XX:+PrintGCDetails -XX:+PrintHeapAtGC(详细的gc信息) 1.2 输出gc日志到指定文件 - ...

  7. Tomcat中JVM内存溢出及合理配置及maxThreads如何配置(转)

    来源:http://www.tot.name/html/20150530/20150530102930.htm Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚 ...

  8. Tomcat中JVM内存溢出及合理配置

    Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机.Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识 ...

  9. JVM内存溢出及合理配置

    Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机.Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识 ...

  10. JVM内存溢出及配置

    一.Java JVM内存介绍 JVM管理两种类型的内存,堆和非堆.按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Java 虚拟机启动时创 ...

随机推荐

  1. lnmp架构、mysql的安装、php的安装、nginx相关

    1.lnmp架构 2.mysql的安装: mysql5.6自动安装脚本: yum install perl-Data-Dumper.x86_64 libaio.x86_64 libaio-devel. ...

  2. python筛选特定文件的信息按照格式输出到txt

    最近搞数据库,为了把图片文件的信息导入数据库表中,我开始研究python列出图片文件,其中发现因为IE临时文件里有非常多的不需要的图片,就需要筛选掉一些文件. 最终用python输出了所有需要的图片文 ...

  3. ionic1页面间传递参数的问题

    1.  $scope.routeinfo是我要传递的参数--到scheddulcontent这个页面去: $state.go( "scheddulcontent" , { 'rou ...

  4. python基础(五)——CGI编程

    使用python实现get方法和post方法传值,多选按钮,单选按钮.文本编辑区.下拉列表数据的传递,cookie的设置文件上传,文件下载.本文未经整理,仅供参考 #!/usr/bin/python ...

  5. How to get checksum by IAR

  6. 怎样优化app,看Facebook怎样做

    周四,Facebook Engineering blog 发表了一篇名为<Improving Facebook on Android>博文.博文从四个方面(Performance,Data ...

  7. Java基础语法 第1节 Java语言发展和JDK安装

    一.Java发展历程 1995年5月23日,Java语言诞生: 1996年1月,第一个JDK-JDK1.0诞生: 1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入Java技术: 199 ...

  8. 4、Tomcat启用HTTPS协议配置

    一.本地模拟 1.安装jdk,自行百度安装教程 2.打开mac终端,输入命令 keytool -genkeypair -alias "证书名字" -keyalg "RSA ...

  9. jsp配置文件数据信息读取

    一.jsp从配置文件*.properties读取信息 <%@ page language="java" import="java.util.*" cont ...

  10. c#:$用法

    为什么会出现$符号,c#6.0才出现的新特性 var s = string.Fromat("{0}+{1}={2}",12,23,12+23) 用起来必须输入string.From ...