文档章节

Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

G
 Garphy
发布于 08/24 04:44
字数 477
阅读 63
收藏 1

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。

Java 抛出的 Throwable 可以分成三种类型。

被检查异常(checked Exception),运行时异常(RuntimeException),错误(Error)。

首先说一下:

 

1. 被检查异常(checked Exception )

定义:RuntimeException 及其子类,被称为运行时异常。特点,Java 编译器不会检查他,也就是说,当程序可能出现这类异常,即使没有“throw 声明抛出它”,也没有“try  catch ”来捕获它。还是会编译通过。

例如,除数为零的产生的 ArithmeticException 的异常,数组越界产生的 IndexOutOfBoundsException 异常。fail-fail 机制产生的 ConcurrentModificationException 异常,都属于运行时异常。

 

2. 堆内存溢出(out of Memory Error )(OOM)

除了程序计数器,虚拟机内存的几个运行区域都有可能出现 OutOfMemoryError (OOM)

Java 的堆溢出,一般异常信息是:java.lang.OutOfMemoryError:Java heap spacess。Java 堆用于存储对象实例,我们只要不断创建对象,并且保证 GC Roots 到对象之前有可达路径来避免垃圾回收机制清除这些对象。就会在对象数量达到最大堆容量限制后产生内存溢出异常。

 

3.堆栈溢出 StackOverflow (SOF)

StackOverflowError 给的定义是,当应用程序递归太深而发生堆栈溢出,抛出该错误。因为栈内存默认是 1 M ~ 2M ,大量递归调用或者死循环中,在不断压栈中,造成栈容量超过 1 M 而导致的溢出。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

© 著作权归作者所有

G
粉丝 0
博文 145
码字总数 62449
作品 0
私信 提问
Java常见问题总结

1、Object有哪些公共方法? 答:clone(),equals(),hashCode(),wait(), getClass(),finalize(),notify(),notifyAll(),toString() 2、Object中finalize()的作用? 答:用于清理。final...

阿阿阿阿阿局
2016/08/06
59
0
Android开发面试基础题——转自一位本科应届生的面试经历

(我已经开始着手整理这些知识点,整理好的链接放在问题后面) 基础这东西,各个公司都很看重,尤其是BAT这种大公司,他们看中人的潜力,他们舍得花精力去培养,所以基础是重中之重。之前很多...

Freewheel
2015/09/26
2.8K
0
面试心得与总结---BAT、网易、蘑菇街

之前实习的时候就想着写一篇面经,后来忙就给忘了,现在找完工作了,也是该静下心总结一下走过的路程了,我全盘托出,奉上这篇诚意之作,希望能给未来找工作的人一点指引和总结, 也希望能使...

天天顺利
2015/09/23
5.3K
3
2018年BAT,京东,美团,滴滴等公司面试经验总结

一、心态 心态很重要! 心态很重要! 心态很重要! 重要的事情说三遍,这一点我觉得是必须放到前面来讲。 找工作之前,有一点你必须清楚,就是找工作是一件看缘分的事情,不是你很牛,你就一...

扁桃体准备发言了
2018/09/09
0
0
面试心得与总结—BAT、网易、蘑菇街

之前实习的时候就想着写一篇面经,后来忙就给忘了,现在找完工作了,也是该静下心总结一下走过的路程了,我全盘托出,奉上这篇诚意之作,希望能给未来找工作的人一点指引和总结, 也希望能使...

tony.chen
2016/12/10
95
0

没有更多内容

加载失败,请刷新页面

加载更多

可见性有序性,Happens-before来搞定

写在前面 上一篇文章并发 Bug 之源有三,请睁大眼睛看清它们 谈到了可见性/原子性/有序性三个问题,这些问题通常违背我们的直觉和思考模式,也就导致了很多并发 Bug 为了解决 CPU,内存,IO ...

tan日拱一兵
20分钟前
2
0
网络七层模型与TCP/UDP

为了使全球范围内不同的计算机厂家能够相互之间能够比较协调的进行通信,这个时候就有必要建立一种全球范围内的通用协议,以规范各个厂家之间的通信接口,这就是网络七层模型的由来。本文首先...

爱宝贝丶
23分钟前
2
0
Jenkins World 贡献者峰会及专家答疑展位

本文首发于:Jenkins 中文社区 原文链接 作者:Marky Jackson 译者:shunw Jenkins World 贡献者峰会及专家答疑展位 本文为 Jenkins World 贡献者峰会活动期间的记录 Jenkins 15周岁啦!Jen...

Jenkins中文社区
41分钟前
8
0
杂谈:面向微服务的体系结构评审中需要问的三个问题

面向微服务的体系结构如今风靡全球。这是因为更快的部署节奏和更低的成本是面向微服务的体系结构的基本承诺。 然而,对于大多数试水的公司来说,开发活动更多的是将现有的单块应用程序转换为...

liululee
55分钟前
7
0
OSChina 周二乱弹 —— 我等饭呢,你是不是来错食堂了?

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @ 自行车丢了:给主编推荐首歌 《クリスマスの夜》- 岡村孝子 手机党少年们想听歌,请使劲儿戳(这里) @烽火燎原 :国庆快来,我需要长假! ...

小小编辑
今天
625
11

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部