`
tjuximo
  • 浏览: 50588 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

OutOfMemoryError

 
阅读更多
OutOfMemoryError也就是内存溢出错误,主要是由于申请不到内存而发生的,针对JVM运行时内存分配,已经在上篇文章中做了简单的记录,现在就分析一下OOM错误会在哪一个内存区域发生。

1、程序计数器。
JVM规范规定该区域不会发生OOM错误。如果执行的是一个java方法,它记录的是正在执行的虚拟机字节指令的地址,如果执行的是native方法,这个计数器值为空(undefined)。

2、java虚拟机栈
JVM规范中,对jvm栈规定了两种异常情况:如果线程请求的栈深度大于虚拟机所允许的深度,则抛出StackOverflowError错误;如果虚拟机栈可以动态扩展,当扩展时无法申请到足够的内存时会抛出OOM异常。

3、本地方法栈
和java虚拟栈一样,也会抛出StackOverflowError和OOM Error。

4、java堆
肯定会抛出OOM Error呀!!!
-Xmx最大堆内存
-Xms最小堆
可以设置堆内存分配的大小。

5、方法区
根据JVM规范,当方法区无法满足内存分配需求时,将抛出OOMError。

6、运行时常量池
是方法区的一部分,受方法区内存的限制,也会抛出OOMError。

7、直接内存。
直接向系统申请内存,如果系统内存都不够了,也会抛出OOMError。

分享到:
评论

相关推荐

    java.lang.OutOfMemoryError: Java heap space 解决方法

    "Java.lang.OutOfMemoryError: Java heap space 解决方法" Java.lang.OutOfMemoryError: Java heap space 是 Java 中的一个常见错误,它发生时,Java 虚拟机 (JVM) 无法分配对象,因为堆空间不足。下面是解决该问题...

    Myeclipse下java.lang.OutOfMemoryError Java heap space的解决

    ### Myeclipse下java.lang.OutOfMemoryError: Java heap space的解决方案 在使用Myeclipse进行Java开发时,可能会遇到`java.lang.OutOfMemoryError: Java heap space`这个错误提示。这种异常通常发生在应用程序占用...

    java.lang.OutOfMemoryError处理错误

    java.lang.OutOfMemoryError处理错误 java.lang.OutOfMemoryError是Java虚拟机(JVM)中的一种常见错误,发生这种错误时,JVM将无法继续运行,程序将崩溃。这种错误的出现通常是由于Jvm的内存不足或内存泄露导致的...

    编译时出现java.lang.OutOfMemoryError Java heap space异常

    ### 编译时出现java.lang.OutOfMemoryError Java heap space异常 #### 一、问题概述 在进行Java项目编译的过程中,可能会遇到`java.lang.OutOfMemoryError: Java heap space`这种异常。这类异常通常表明Java虚拟机...

    java错误处理:java.lang.OutOfMemoryError: Java heap space

    ### Java 错误处理:java.lang.OutOfMemoryError: Java heap space 在Java应用程序开发过程中,经常遇到的一个问题就是内存溢出错误,特别是在处理大量数据或长时间运行的应用时。其中,“java.lang....

    OutOfMemoryError_8种典型案例分享

    java.lang.OutOfMemoryError是Java开发者在工作中经常会遇到的一个内存错误。该错误通常发生在JVM无法为新对象分配足够的堆内存时。由于内存问题导致的程序崩溃给开发和维护带来了极大的挑战,而解决这类问题需要对...

    java.lang.OutOfMemoryError解决办法

    Java中的`java.lang.OutOfMemoryError`是一种常见的运行时错误,通常表示应用程序在尝试分配内存时遇到了问题。根据提供的信息,这个错误主要涉及到两个方面:`PermGen space`和`Java heap`,并且与Tomcat服务器相关...

    java解决nested exception is java.lang.OutOfMemoryError Java heap space

    Java程序在运行过程中可能会遇到各种异常,其中"nested exception is java.lang.OutOfMemoryError: Java heap space"是一个常见的问题,通常发生在程序试图分配超过堆内存限制的空间时。这个错误表明Java虚拟机(JVM...

    ant编译时抛出OutOfMemoryError.doc

    在使用Apache Ant构建Java项目时,可能会遇到一个常见的问题,即`OutOfMemoryError`。这个错误通常发生在编译大量Java源文件时,由于资源耗尽,JVM无法分配足够的内存来执行任务。`OutOfMemoryError`是Java运行时...

    解决OutOfMemoryError内存溢出

    ### 解决OutOfMemoryError内存溢出 在Java开发过程中,我们经常会遇到`java.lang.OutOfMemoryError`(简称OOM)的问题。这个问题的发生主要是由于JVM内存不足或程序中存在内存泄漏所引起的。本文将深入探讨OOM产生...

    MAT解析hprof内存溢出分析工具OutOfMemoryError-java程序开发

    Java开发过程中,遇到`OutOfMemoryError`是一种常见的挑战,它表明程序在运行时耗尽了内存资源。MAT(Memory Analyzer Tool)是IBM提供的一款强大的Java内存分析工具,它专为解决此类问题而设计,帮助开发者深入理解...

    junrar的OutOfMemoryError错误解决源码

    《junrar的OutOfMemoryError错误解决深度解析》 在日常的IT工作中,我们经常会遇到各种类型的问题,其中,`OutOfMemoryError`是一个常见的Java运行时异常,它表明程序在执行过程中耗尽了可用的内存资源。对于使用...

    Caused by: java.lang.OutOfMemoryError: PermGen space解决方案

    在Java应用程序运行过程中,"java.lang.OutOfMemoryError: PermGen space"错误是常见的一个问题,尤其是在使用Tomcat这样的Java应用服务器时。这个错误表明应用程序在 PermGen 区域(Permanent Generation)耗尽了...

    解决OutOfMemoryError: PermGen space

    ### 解决OutOfMemoryError: PermGen space 在Java应用程序运行过程中,可能会遇到“OutOfMemoryError: PermGen space”的错误提示。这种错误通常发生在永久代(PermGen space)内存不足的情况下,永久代主要用于...

    java.lang.OutOfMemoryError: PermGen space解决方案

    java.lang.OutOfMemoryError: PermGen space 解决方案

    系统稳定性——OutOfMemoryError常见原因及解决方法1

    【系统稳定性——OutOfMemoryError常见原因及解决方法】 在Java应用程序中,系统稳定性的一个关键因素是避免出现`OutOfMemoryError`。这种错误通常表明JVM(Java虚拟机)的内存资源已经耗尽,无法继续正常运行。...

    tomcat 出现 OutOfMemoryError 的解决方法

    ### Tomcat 出现 OutOfMemoryError 的解决方法 #### 一、问题概述 在部署应用至 Tomcat 服务器时,经常会遇到一个常见的错误:`java.lang.OutOfMemoryError: PermGen space`。该错误表明 Java 虚拟机 (JVM) 的永久...

    java[1].lang.OutOfMemoryError_Java_heap_space错误及处理办法

    ### Java.lang.OutOfMemoryError:Java Heap Space 错误及处理办法 在Java应用程序开发与维护过程中,经常会遇到`java.lang.OutOfMemoryError: Java heap space`这一异常情况。该异常通常表明Java虚拟机(JVM)的堆...

Global site tag (gtag.js) - Google Analytics