java异常---自定义异常、多线程--创建线程的两种方式

一、重点知识

main函数抛出的异常,最终会抛给虚拟机,由虚拟机的try-catch处理

parseException 解析异常

关于子类重写的方法抛出的异常不能比父类的异常大的理解

多态时候,如果处理异常,会根据父类的异常进行处理,如果子类的异常大于父类的异常,此时trycatch不能进行处理,所以子类的异常不能大于父类的异常,子类是更严谨的。

finall里不建议添加return语句,因为他里面的语句,是无论如何一定执行的

finally里面的语句优先于其他代码块里的return语句执行

并行,是用时执行多个进程
并发,看起来执行了多个线程,实际上某个时间点只执行了一个进程
串行,就是指进程一个一个做完

一个线程只能被start执行一次,想再启动这个线程,就重新new一个thread对象

二、重点问题

1、关于main函数抛出异常问题

java中的main函数抛出的异常由JVM(java虚拟机)处理。

在java程序中如果异常都向外抛,直到try{}catch处捕获;如果到了主方法(main方法)仍没有捕获,

异常就由java虚拟机(java运行环境)处理
JVM是如何处理异常的
https://blog.csdn.net/yudiandemingzi/article/details/93878543

2、关于return和finally谁先执行的问题
注意引用类型和基本类型在finally中的区别

返回应用类型时,返回的是地址,finally可以改变用用类型对应的属性,可以修改成功,因为return在开始就把要返回的值记录在内存中了,不会更改了,只等待你执行finally后输出,finally如果试图改变基本数据类型是不会成功的,因为基本数据类型一开始就存在内存中了,等待返回,不可以被修改。

https://blog.csdn.net/zoujian1993/article/details/45362931

三、课堂知识

3.1、throws关键字

用于一个方法的对外声明:用于表示该方法不处理异常,交由调用处进行处理。

publicstaticvoidtest()throwsParseException{

}

子类重写父类的方法时,不能抛出比父类更大的异常。

父类抛出异常,子类可以不抛出

父类抛出异常,子类可以抛出和父类一样的或者是比父类小的异常

父类抛出异常,子类不能抛出比父类更大的异常

父类没有抛出异常,子类也不能抛出异常。

3.2、throw关键字

在程序执行中,除了自动抛出异常对象的情况之外,我们还可以手动的throw一个异常类的对象。

【面试题】对比Exception和RuntimeException的区别。

1、Exception是最大的异常父类。RuntimeException是Exception的子类。

2、RuntimeException是运行时异常,程序不强制一定处理该类型的异常。Exception的异常,包含了受检异常,程序中必须处理该类型的异常。

【面试题】对比throws和throw的区别。

1、throws关键字,用于表示一个方法向外声明,该方法不处理异常,交由调用处处理这个异常。处理异常的一种方式:捕获,抛出。声明在方法的声明处。

2、throw关键字,代码中,主动抛出一个异常对象。因为某个逻辑原因,主动抛出一个异常对象,打断程序的执行。主动抛出异常对象。声明在方法体内。

3.3、自定义异常

自己定义一个类,用于表示某种异常。需要继承Exception或其子类即可。

问题:不是哪个类的对象,都有被创建并抛出就能够打断程序的功能。

自定义异常步骤:

1. 继承于现的异常结构:RuntimeException 、Exception

* 2. 提供全局常量:serialVersionUID

* 3. 提供重载的构造器

示例如下:

public class MyException extends Exception{

static final long serialVersionUID = -7034897193246939L;

public MyException(){

}

public MyException(String msg){

super(msg);

}

}

3.4、多线程

3.4.1并行和并发

串行:任务一个接一个做。

并行:同时在做多个任务。(硬件的支持建立在多cpu的基础上)

并发:在多个任务之间快速的切换,看起来同时执行多个任务。但是实际上,某一个事件点,执行1个任务。

宏观并行,微观串行。

3.4.2 进程

概念:程序的一次执行过程,或是正在运行的一个程序。

说明:进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域

3.4.3 线程

概念:进程可进一步细化为线程,是一个程序内部的一条执行路径。

说明:线程作为调度和执行的单位,每个线程拥独立的运行栈和程序计数器(pc),线程切换的开销小。

3.4.4 进程和线程

1、进程:一个正在执行的程序:JVM正在执行的程序

2、线程:正在执行的程序中的一条执行路径

3、多线程:一个进程中,可以同时有多条线程一起执行。

如果一个进程没有了,该进程中的线程也就没有了。

如果线程没有了,但是进程不一定就没有了。

3.4.5 Java中对于多线程的支持

Thread类:JDK提供好的,Thread类,就是java中关于多线程的实现。线程的功能都封装在了该类中。

A:创建线程并启动:继承Thread类

step1:创建子类,继承Thread类。

step2:重写run(),线程体。并发执行的内容,写在这个方法中。

step3:启动线程:start()

B:实现Runnable接口,创建线程的方式二

step1:创建实现类,实现Runnable接口

step2:重写run(),线程体。并发执行的内容,写在这个方法中。

step3:启动线程:

创建实现类的对象:

根据实现类对象,创建Thread类对象

start()启动该线程

3.4.6对比run()和start()

run(),是线程体。就是要并发执行内容。

start(),启动一个线程?就是该线程准备就绪了,随时可以被CPU执行。什么时候执行,CPU自己说了算。

一个线程,只能被start一次。

3.4.7Thread类的构造方法

new Thread();//并发执行,执行run()方法。

new Thread(Runnable target);//并发执行,执行的run是Runnable接口的实现类实现run方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353