zoukankan      html  css  js  c++  java
  • 常见受检和非受检异常,StackOverflowException和OutOfMemoryError常用解决方法

    一、运行时异常(非受检异常):RuntimeException

    NullPointerException,ArrayIndexOutBoundException,ClassCastException,IndexOutOfBoundsException,ArrayStoreException,BufferOverflowException

    二、编译时异常(受检异常):除RuntimeException之外的Exception

    ClassNotFoundException,IOException,SQLException,FileNotFoundException,InterruptedException

     以下问题解决方式:

    1.StackOverflowException出现的原因,主要是调用层次太深导致栈溢出或死循环

    2.OutOfMemoryError:内存不足错误

      解决方式:

    1. 增加java虚拟机中的XX:PermSize和XX:MaxPermSize参数的大小,其中XX:PermSize是初始永久保存区域大小,XX:MaxPermSize是最大永久保存区域大小。如针对tomcat6.0,在catalina.sh 或catalina.bat文件中一系列环境变量名说明结束处(大约在70行左右) 增加一行:JAVA_OPTS=" -XX:PermSize=64M -XX:MaxPermSize=128m"

    2. 检查程序,看是否有死循环或不必要地重复创建大量对象。

    3. 增加Java虚拟机中Xms(初始堆大小)和Xmx(最大堆大小)参数的大小。如:set JAVA_OPTS= -Xms256m -Xmx1024m

  • 相关阅读:
    Linux内存初始化
    linux PCI设备初始化过程
    Linux网络地址转换分析
    Linux内核中流量控制
    IPSEC实现
    ip_conntrack 实现
    module_init宏解析
    IP隧道基础研究
    IPV6介绍
    Golang的接口
  • 原文地址:https://www.cnblogs.com/ivy-xu/p/12510312.html
Copyright © 2011-2022 走看看