A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 厦门校区   /  2018-12-25 19:07  /  2951 人查看  /  53 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.throw和throws的区别?
(1)throw是用来抛出一个具体的异常类型;throws用来声明一个方法可能产生的所有异常,不做任何处理而是将异常往上传,谁调用我我就抛给谁。
(2)throw用在方法体内,跟的是异常对象名;throws用在方法声明后面,跟的是异常类名。
(3)throw只能抛出一个异常对象名;throws可以跟多个异常类名,用逗号隔开。

2.什么时候需要声明异常,什么时候不需要声明异常?
异常分为编译时期异常和运行时期异常。需要声明异常情况:如果是编译时期的异常必须要对异常进行处理,如果没有对异常进行tay...catch捕获处理,就需要声明异常,将异常抛出给调用者。不需要声明异常有两种情况:(1)如果异常是编译异常内部进行了try...catch进行捕获处理后,就不需要声明异常。(2)如果异常是运行时期的异常,可处理可不处理,如果不处理就是默认交给JVM虚拟机进行处理,而JVM虚拟默认的处理方式是将异常对象的内容,信息,位置打印在控制台上,并中断运行。

3.异常有几种处理方式?
异常有两种处理方式:(1)抛出异常处理,通过throws声明异常将异常对象抛出,最终由JVM虚拟机来处理,将异常对象的内容,信息,位置打印在控制台上,并中断运行。(2)捕获异常,通过try...catch捕获异常进行处理,让JVM虚拟按给定的异常的处理方式进行处理,而不会中断运行程序。

4.什么是并发,什么是并行?
并发:一个或多个线程在内存中同个时间段内交替执行。
并行:一个或多个线程在内存中同个时刻内同时执行。

5.什么是进程,什么是线程?
进程:是指在系统中正在运行的应用程序的一组功能,该应用程序功能一旦运行就是进程。
线程:是进程中的一个执行单元,负责进程中程序的执行,一个进程中至少有一个线程。

6.run()方法和start()方法的区别?
start()方法:是通过调用Thread类的start()方法来开启一个线程,让开启的新线程执行run方法。
run()方法是定义在Thread中的一个普通方法,在调用Thread类的start()方法开启线程一开启就会调用run方法,执行run方法(线程一开启就会执行相当于线程任务)。如果直接调用run()方法。只是调用run()方法,而没有开启新的线程。
回复 使用道具 举报
1.throw和throws的区别?
throw是抛出异常,throws是声明异常
2.什么时候需要声明异常,什么时候不需要声明异常?
运行时期的异常不用声明,编译时期的异常需要声明异常
3.异常有几种处理方式?
两种,一种是try..catch捕捉异常,另一种是throw声明异常
4.什么是并发,什么是并行?
并发是同一'时间段'发生,并行是同一个'时间点'发生
5.什么是进程,什么是线程?
进程是指内存中运行的应用程序,每个进程在内存当中都有独立的一个内存空间,一个应用程序可以同时运行多个进程。
线程是在进程中一个执行单元,一个进程中至少有一个线程,也可以有多个线程,效率高,多个进程之间互不影响

6.run()方法和start()方法的区别?
run()方法是线程的子类,表示线程需要完成的任务(定义线程);
start()方法线程的对象,run()方法可以通过start()方法开启线程;
回复 使用道具 举报
1.throw和throws的区别?

throw是关键字,它用来抛出一个指定的异常对象,如果方法内通过throw抛出了编译时异常,而没有捕获处理,那么必须通过throws进行声明,让调用者去处理,关键字throws运用于方法声明之上,用于表示当前方法不处理异常,而是提醒该方法的调用者来处理异常(抛出异常) 。

2.什么时候需要声明异常,什么时候不需要声明异常?

编译异常被抛出时,如果没有捕获处理异常那么就需要声明。运行异常可以不抛出异常也不声明异常。

3.异常有几种处理方式?

两种:一种是抛出异常给调用处直到被处理,如果没有没捕获处理则最终将抛给JVM虚拟机来中止程序。另一种是try....catch 捕获异常,解决异常来处理。

4.什么是并发,什么是并行?

并发就是多个事件一段时间内发生的事情。并行是指多个事件某一时刻发生的事情。两个发生的时间情况不同,一个是时间段,一个是瞬时时刻。

5.什么是进程,什么是线程?

进程:软件的一组功能,一个应用程序由一组或多组功能组成,一个程序至少一个进程,可以多个进程。线程:是进程的一个执行单位。一个进程至少一个线程,可以多个线程。可以理解成:进程是去程序的城门,城门至少一个,也可以多个城门。而线程就是进了城门后,至少有一条马路,也可以有很多条不同的马路,通往城里不同的地方。

6.run()方法和start()方法的区别?

run()方法称为的线程执行体,创建的新线程要执行什么内容由这个方法 体来决定。而start()方法是用来启动新线程的,这个方法自带有调用 run()方法的方法,所有我们在调用了这个方法后不用再手动调用run()方法。而如果只是单独调用run()方法的话,没有新线程的进程入口,程序将无法执行run()方法。
回复 使用道具 举报
本帖最后由 Java中的莫Q哇啦 于 2018-12-26 09:37 编辑

1.throw和throws的区别?

throw是关键字,它用来抛出一个指定的异常对象,如果方法内通过throw抛出了编译时异常,而没有捕获处理,那么必须通过throws进行声明,让调用者去处理,关键字throws运用于方法声明之上,用于表示当前方法不处理异常,而是提醒该方法的调用者来处理异常(抛出异常) 。

2.什么时候需要声明异常,什么时候不需要声明异常?

编译异常被抛出时,如果没有捕获处理异常那么就需要声明。运行异常可以不抛出异常也不声明异常。

3.异常有几种处理方式?

两种:一种是抛出异常给调用处直到被处理,如果没有没捕获处理则最终将抛给JVM虚拟机来中止程序。另一种是try....catch 捕获异常,解决异常来处理。

4.什么是并发,什么是并行?

并发就是多个事件一段时间内发生的事情。并行是指多个事件某一时刻发生的事情。两个发生的时间情况不同,一个是时间段,一个是瞬时时刻。

5.什么是进程,什么是线程?

进程:软件的一组功能,一个应用程序由一组或多组功能组成,一个程序至少一个进程,可以多个进程。线程:是进程的一个执行单位。一个进程至少一个线程,可以多个线程。可以理解成:进程是去程序的城门,城门至少一个,也可以多个城门。而线程就是进了城门后,至少有一条马路,也可以有很多条不同的马路,通往城里不同的地方。

6.run()方法和start()方法的区别?

run()方法称为的线程执行体,创建的新线程要执行什么内容由这个方法 体来决定。而start()方法是用来启动新线程的,这个方法自带有调用 run()方法的方法,所有我们在调用了这个方法后不用再手动调用run()方法。而如果只是单独调用run()方法的话,没有新线程的进程入口,程序将无法实现多线程的效果,仅仅是单纯的执行run()方法。
=============================================黄成成
回复 使用道具 举报
本帖最后由 洪烁铭 于 2019-1-28 16:53 编辑

1.throw和throws的区别?throw是写在方法内,用来抛出异常对象,将异常对象传递到调用处,并结束当前方法的执行。当throw抛出异常后,才有异常需要解决。
throws是处理异常的一种方式,将异常抛给调用处,如果调用出没有进行解决,就会抛给JVM。

2.什么时候需要声明异常,什么时候不需要声明异常?
如果需要自己处理异常,就用trycatch,不用throws,即不用声明异常。

3.异常有几种处理方式?
throws:从发现异常出声明异常给调用处,调用处(main方法)再声明异常,交给JVM。JVM收到异常后,执行两个动作:打印异常信息;中断程序运行。
try···catch:在try中写会发生异常的代码,catch的()中写异常类型,进行捕获,在{}中写捕获后的处理方法:打印异常信息(原因、位置、)

4.什么是并发,什么是并行?
并发是同一时间段多个事件一起运行。并发只是多个事件在不同时刻单独进行。比如早上进行洗漱,先刷牙,后洗脸。两件事情在洗漱时间里是并发的,事情不是同时做的。
并行是同一个时刻多个事件一起发生。并行可以提高效率。比如两个人同时走路。

5.什么是进程,什么是线程?
进程是内存中的应用程序。一个程序可以有多个进程。
线程是程序和CPU的通道。CPU执行权通过线程来运行程序。

6.run()方法和start()方法的区别?

重写后的run方法是写在自定义线程方法,它用来开设新线程;而start方法是写在main方法中,通过对象调用start方法后可以运行子类线程的方法。
回复 使用道具 举报
1.throw和throws的区别?throw用在方法内,用来抛出一个异常对象
throws运用在方法声明之上,用来声明异常
2.什么时候需要声明异常,什么时候不需要声明异常?
如果方法内通过throw抛出了编译时异常,而没有捕获处理,那么必须通过throws进行声明,让调用者去处理。
就是编译时需要声明异常,运行异常可以不处理。
3.异常有几种处理方式?
抛出异常throw,声明异常throws,捕获异常try...catch
4.什么是并发,什么是并行?
并发:指两个或多个事件在同一个时间段内发生。
并行:指两个或多个事件在同一时刻发生。
5.什么是进程,什么是线程?
进程指软件中的一组功能
线程指执行计算机任务的一个单元
6.run()方法和start()方法的区别?

run()方法的方法体就代表了线程需要完成的任务
start()方法用来启动线程

回复 使用道具 举报
1.throw和throws的区别?
throw在指定的方法中抛出指定的异常,必须写在方法的内部
throws是异常处理的一种方式,必须卸载方法声明处,当throw抛出异常对象时,可以通过throws声明这个异常对象,层层往上抛,没有处理的话会由JVM处理

2.什么时候需要声明异常,什么时候不需要声明异常?
如果是编译异常,那么这个异常必须要处理,在使用try...catch处理异常时,就需要通过throws声明异常;反之如果已经调用try...catch处理异常时,就不需要声明异常,另外,如果是运行异常,那么可以处理也可以不处理这个异常,最终会由JVM中断代码处理

3.异常有几种处理方式?
(1)声明异常throws,声明异常,交给调用者处理,没有处理的话,最终会由JVM处理
(2)捕获异常try…catch,可以对出现的异常进行指定方式的处理   

4.什么是并发,什么是并行?
并发:一段时间之内,进行多个操作
并行:一个时间点,同时执行多个操作

5.什么是进程,什么是线程?
进程就是一个应用中的一组功能,一个应用至少包含一个进程,可以包含多个进程
线程就是执行进程任务的一个单元,线程是用于执行进程的,一个进程至少包含一个线程,可以包含多个线程

6.run()方法和start()方法的区别?
run()方法重写后是线程需要完成的任务
start()方法用来启动线程
回复 使用道具 举报
1.throw和throws的区别?

throw关键字抛出一个异常,在方法的内部,当程序运行到此并且产生异常时,将异常抛出;

throws关键字声明一个异常,写于方法定义时方法名的后面,表明调用该方法有可能产生一个异常。

2.什么时候需要声明异常,什么时候不需要声明异常?

编译期异常有两种方式处理,用throw的时候需要声明这个异常,用try..catch的时候不需要。

运行期异常一般不用程序员处理,可以不用声明异常。

3.异常有几种处理方式?

一种是throw抛出异常,一种是try...catch处理异常。

4.什么是并发,什么是并行?

并发:指两个或多个事件在同一个时间段内发生。 并行:指两个或多个事件在同一时刻发生(同时发生)。

5.什么是进程,什么是线程?

进程:是程序中一组功能的执行单位,每个应用程序可以开辟一个或多个进程,每个进程都有一个独立的内存空间; 线程:是进程中的一个执行单元,一个进程可以有一个或多个线程,对于一个进程中的多个线程来说,多个线程共享进程的内存块。

6.run()方法和start()方法的区别?

run()方法:将需要在新开辟的线程中执行的代码体写进run()方法中,即线程执行体;

start()方法:用来启动线程的方法
回复 使用道具 举报
1.throw和throws的区别?
throw写在方法体内,用于抛出异常
throws写在方法声明后,接着抛出异常
2.什么时候需要声明异常,什么时候不需要声明异常?
编译异常需要声明。运行异常不需要声明
3.异常有几种处理方式?
throws声明异常
try catch捕获异常
4.什么是并发,什么是并行?
同一时间段内进行的是并发。同一时刻进行的叫并行。
5.什么是进程,什么是线程?
进入到内存的程序,一个程序运行时有可以有多个进程。
执行进程的路径叫线程,一个线程可以有多个路径。
6.run()方法和start()方法的区别?
Thread 的子类应该重写run方法,在主线程里执行。
start执行run方法
回复 使用道具 举报
1.throw和throws的区别?

throw:用来指定抛出一个指定的异常对象。

throws:声明必须写在方法声明处,关键字后面必须是Exception或者是Exception的子类,方法累不如果抛出多个异常对象,则throws后面也声明多个异常,如果有子父类关系,则直接声明父类对象就行。

2.什么时候需要声明异常,什么时候不需要声明异常?

当throw抛出了编译时异常,而没有捕获处理,就必须通过throws进行声明,让调用者去处理,最终是通过JVM虚拟机进行处理。

运行时异常不需要声明。

3.异常有几种处理方式?

一种是用throws声明抛出异常,最终在JVM虚拟机上处理。
另外一种是通过try...catch对异常进行捕获,如果产生了异常,则通过catch中的异常处理逻辑执行,处理完后继续执行后续代码。

4.什么是并发,什么是并行?

并发:一段时间内,进行多个操作。
并行:一个时间点,同时执行多个操作。

5.什么是进程,什么是线程?

进程:一个内存中运行的应用程序,每个进程都有一个独立的空间,一个应用程序可以同时运行多个进程。

线程:线程是一个程序中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程,一个进程中可以有多个线程。

6.run()方法和start()方法的区别?

run()方法:是线程的执行体,定义Thread类的子类,都要重写run方法,而run方法的方法体代表了线程需要完成的任务。

start():通过调用线程对象的start方法来启动线程。
回复 使用道具 举报
1.throw和throws的区别?

区别:throw是创建一个异常 对象;throws是声明异常 类型。

2.异常有几种处理方式?

两种。(1)通过throws声明,将问题向上抛给调用者,直到控制台显示异常并停止程序。
(2)通过try...catch捕获问题,当try 的内容出现异常,控制台显示异常并继续运行程序。

3.什么是进程,什么是线程?

进程:是指内存中运行的应用程序,是系统运行程序的基本单位。
线程:是进程的执行单元,系统通过线程来运行进程。

4.run()方法和start()方法的区别?

区别:run()方法的内容代表了线程需要完成的任务,是我们需要的功能。是Thread类下方法,
继承Thread的类需要重写run方法。
start()方法是thread子类对象的方法,是用来启动运行线程的方法。
回复 使用道具 举报
1.多线程的实现有几种方式?实现步骤分别是怎样的?

两种,一种是建立子类继承Thread,重写线程方法体run方法后,创建子类调用.start()方法即可开启新线程。一种是实现Runnable接口,实现步骤: 1.创建一个unnable接口实现类;2.重写run方法;3.创建接口实现类对象;4.创建Thread()类对象,参数传递实现类对象;5.调用Thread类中的Stare方法即可开启新线程。

2.继承Thread类和实现Runnable接口有啥区别?实现Runnable接口的优势体现在哪里?

实现Runnable接口可以做到多个线程访问同一个类,而继承Thread类没法做到这样子。

好处:a.使用继承的方式,占用继承位;使用实现的方式,不占用继承位,而是占用的一个接口位置。b.使用继承的方式,耦合度太高,两个功能写在一起;使用实现的方式,两个功能拆开,解耦合。c.使用继承的方式,不能实现资源共享;使用实现的方式,可以实现资源共享

3.线程安全问题时怎么产生的?如何解决线程安全问题,有哪几种方式?

多线程访问了共享数据,并执行了写操作,会发生线程安全问题。创建锁对象来同步资源解决线程安全问题,有四种方式,分别是a.同步代码块。b.同步方法。c.静态同步方法。d.Lock锁。

4.sleep()方法和wait()方法的区别?

sleep()方法不会释放锁对象,休眠后不需要唤醒可以自动醒来。wait()方法会释放锁对象,休眠后需要其他线程调用notify()方法唤醒。


haungcc黄成成
回复 使用道具 举报
1.throw和throws的区别?
答throw是抛出异常, 它在方法体里面,而throws是申报异常,它是在方法名后面
2.什么时候需要声明异常,什么时候不需要声明异常?
答:编译期是需要声明异常的,运行期是不需要声明异常
3.异常有几种处理方式?
处理的方式有两种,一种是声明异常,这时候需要对异常进行声明。另一种是用try...catch处理异常,这时候不用对异常进行声明。
4.什么是并发,什么是并行?
并发:指两个或多个事件在同一个时间段内发生。
并行:指两个或多个事件在同一时刻发生(同时发生)。

5.什么是进程,什么是线程?
进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。
进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。
6.run()方法和start()方法的区别?
run是在Thread改写需要用的。
start是线程启动的方法。
回复 使用道具 举报
李柏刚 来自手机 中级黑马 2018-12-27 21:20:37
34#
1.throw和throws的区别?
   throw关键字是在方法中创建异常对象,声明可能出现的异常类型,告诉调用者异常错误的信息,并且有中断运行的效果;
   throws是在方法的参数列表后声明单个或多个异常类型给调用处,如果方法内有thorw对象,并且没有给出异常处理方案,方法就必须声明这些异常,告知调用处并让其作出处理。
2.什么时候需要声明异常,什么时候不需要声明异常?
     编译期异常,并且没有给异常作出处理方案,例如try catch,就必须在方法上声明异常,如果异常属于运行期出现的异常,就不需要强制声明异常,不声明也可以。
3.异常有几种处理方式?
      一共有两种处理方式。
      第一种:通过throws在方法上声明异常,抛给调用者去处理,调用者没有给出处理方案会抛给main方法,main也没有给出处理最终会抛给jvm,运行时会报错和中止程序。
如果方法存有存在子父类关系,父类没有声明,子类也不可声明,只能通过捕获异常并处理;父类有声明子类也得同样声明。
       第二种:方法中通过try catch捕获异常,对异常作出处理方案,可以通过连环的try catch 对可能出现的多种异常情况作对应处理。   
4.什么是并发,什么是并行?
      并发就是两个或多个程序在同一时间内交替运行,好比排队过安检。
      并行就是两个或多个程序在同一个时间点同时运行,好比很多人在电影院里同时看着正在播放的电影。
5.什么是进程,什么是线程?
       进程是系统分配运行指令的基础单元,程序的运行都要获得至少一个进程的分配才能运行。
       线程是程序自身任务的调度和执行的基础单元。一个程序可以发起多个线程数同时在进程内并行。
6.run()方法和start()方法的区别
       run()方法是执行多线程的运行内容。
       start()方法是启用多线程的按钮。
run方法如果被直接调用只是作为普通方法去执行,而如果需要开启多线程,就可以通过创建run()方法所在的类对象并调用start()方法,开启多线程。   

      
回复 使用道具 举报
1.throw和throws的区别?
throw关键字是抛出异常,制造异常
throws关键字是声明异常,处理异常
2.什么时候需要声明异常,什么时候不需要声明异常?
编译异常的时候需要声明异常,运行异常的时候不需要声明
3.异常有几种处理方式?
throw关键字以及try   catch  finally 代码块
4.什么是并发,什么是并行?
并发:指两个或多个事件在同一个时间段内发生。
并行:指两个或多个事件在同一时刻发生(同时发生)
5.什么是进程,什么是线程?
进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多
个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创
建、运行到消亡的过程。
线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程
中是可以有多个线程的,这个应用程序也可以称之为多线程程序。
简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程
6.run()方法和start()方法的区别?
使用run()方法无法开启路径
回复 使用道具 举报
林少伟
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马