第10章 排位中(1 / 2)
今天晚上又打排位了
3、错误
定义 : Error类及其子类。
特点 : 和运行时异常一样,编译器也不会对错误进行检查。
当资源不足、约束失败、或是其它程序无法继续运行的条件发生时,就产生错误。程序本身无法修复这 些错误的。例如,VirtualMacheError就属于错误。出现这种错误会导致程序终止运行。OutOfMeoryError、ThreadDeath。
Java虚拟机规范规定JVM的内存分为了好几块,比如堆,栈,程序计数器,方法区等
25、OOM你遇到过哪些情况,SOF你遇到过哪些情况
OOM:
1,OutOfMeoryError异常
除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OutOfMeoryError(OOM)异常的可能。
Java Heap 溢出:
一般的异常信息:java.ng.OutOfMeoryError:Java heap spacess。
java堆用于存储对象实例,我们只要不断的创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对象,就会在对象数量达到最大堆容量限制后产生内存溢出异常。
出现这种异常,一般手段是先通过内存映像分析工具(如Eclipse Meory Analyzer)对dup出来的堆转存快照进行分析,重点是确认内存中的对象是否是必要的,先分清是因为内存泄漏(Meory Leak)还是内存溢出(Meory Over?ow)。
如果是内存泄漏,可进一步通过工具查看泄漏对象到GCRoots的引用链。于是就能找到泄漏对象是通过 怎样的路径与GC Roots相关联并导致垃圾收集器无法自动回收。
如果不存在泄漏,那就应该检查虚拟机的参数(-Xx与-Xs)的设置是否适当。
2,虚拟机栈和本地方法栈溢出