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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天我们学习了异常和多线程,请根据自己的理解回答下面问题:
1.throw和throws的区别?
2.异常有几种处理方式?
3.什么是进程,什么是线程?
4.run()方法和start()方法的区别?

33 个回复

正序浏览
林焕
1.theow用于方法内,抛出异常;
throws用于方法外,声明抛出异常;

2.异常的处理方式有3种,
  2.1:记录日志;
  2.2:打印异常信息;
  3.2:继续抛出异常;

3.进程:正在运行的程序,当一个程序开始运行,进入内存之后就产生了进程;
  线程:进程内部的执行单元,执行路径;一个进程中可以含有多个线程,一个进程至少有一个线程;

4.run()方法中的方法体是线程的任务体;
start()方法是开启线程的方法;
回复 使用道具 举报
林梅源
1.throw和throws的区别?
throw 在方法体内,抛出异常,遇到throw停止,不执行后面的语句
throws写在方法后面,声明将抛出异常,后面可以声明抛出多个异常
2.异常有几种处理方式?
throw   throws 谁调用谁处理
try...catch...finally捕获异常,处理异常,后面程序继续运行
3.什么是进程,什么是线程?
进程就是正在进行的程序,是内存中的应用程序,每个进程包含多个线程。
线程就是执行单元,每个线程都是一个独立的执行内存;

4.run()方法和start()方法的区别?
run() 不开启线程,只是一个执行体
start()开启线程,并让jvm调用run()方法在开启的线程中执行
回复 使用道具 举报
吴香斌

1.throw和throws的区别?
throw是作用在方法体中,当发生异常了,将异常对象进行抛出处理.
throws是作用在方法的声明处,是进行异常的声明,将throw抛出的异常返回给方法的调用处

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

异常有两种处理方式
1)throw 抛出异常的对象,返回到方法的调用处,在main方法中时,直接返回给JVM虚拟机,由虚拟机进行处理.
2)try catch finally 通过将可能出现异常的语句体放在try中执行,当发生异常时,由catch进行异常的捕获,然后会执行catch语句进行异常的处理
  异常的处理有三种方式: 记录异常日志/打印异常信息/继续抛出异常

3.什么是进程,什么是线程
进程是:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位
线程是:进程内部的一个独立执行单元;一个进程可以同时并发的运行多个线程,可以理解为一个进程便相当于一个单CPU操作系统,线程则是CPU操作系统执行的每一个指令.

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

run()方法是多线程对象的线程语句体,当调用start方法时,实际运行的是run()方法中语句体
start()方法时多线程对象的启动方法,创建一个新的线程,并且调用run()方法


回复 使用道具 举报
1.throw和throws的区别?
throw用于方法内,将异常抛出至调用该方法者处,且当前程序结束运行
throws用在方法上,声明抛出异常的类型,并提示调用方法者处理异常

2.异常有几种处理方式?
两种:a       try...catch...finally
         try...catch...catch...finally
            捕获异常,将可能产生异常的代码块捕获,并在catch中声明异常类型以及处理方式,当程序执行时遇到异常代码块不会终止运行,而是继续执行下去。
注意:处理多异常时,先处理的异常类型不能事后处理的异常的父类
           使用finally关键字时,里面的代码必定执行,除非在执行至此前使用System.exit(0)终止了虚拟机运行或者在catch里将异常抛出不作处理,此时不会运行finally里面的代码。当finally里面有return语句时,永远返回finally中的结果。
b          在方法内部使用throw抛出异常至调用者处,并在方法声明上使用throws显示抛出异常的类型,表示该方法不处理该异常
注意:  有继承关系的两个类,父类抛出多个异常时,子类在重载父类方法的同时只能跑出相同的异常或者该异常的子类;若父类没有抛出异常,则子类也不可抛出异常,有异常产生时需用try...catch捕获处理


3.什么是进程,什么是线程?
进程也就是在计算机上运行的应用程序,是系统运行程序的基本单位,每个进程都有独立的内存空间,一个程序的运行就是进程的创建,运行,直到销毁的过程。
线程是进程里面的独立执行,一个进程可以并发的运行多个线程。


4.run()方法和start()方法的区别?
子类继承Thread时,就可以重载里面的run方法;

start方法是开启Thread线程或其子类线程时调用的方法
若是直接调用run方法,则不会开启新的线程,代码在main方法里由上至下运行。
若调用start则表示开启线程,此时新线程将和main所在的线程抢夺执行权。
回复 使用道具 举报
1.throw 是抛出异常的定义在方法内,throws是声明异常定义在方法参数列表后面可以连接多个异常类用逗号隔开。

2.2种处理方式,1种是throw在内抛出给方法然后throws在抛给main方法然后main方法中的throws在抛给JVM。2种是通过捕获异常try...catch..

3.进程就是内存中的应用程序,且每个进程有自己的内存空间,一个应用程序可以同时进行多个进程。线程就是进程内部的一个独立执行的单元,一个进程可以并发运行多个线程。

4.run是在子线程类继承了Thread重写的一个方法,start是在main方法中new出的一个子线程的对象进行调用的且执行的是run中重写的方法体来启动线程的。
回复 使用道具 举报
1.throw和throws的区别?
(1)throw关键字通常用在方法体中,并且抛出一个异常对象。程序在执行到throw语句时立即停止,它后面的语句都不执行。
(2)throws关键字通常被应用在声明方法时,用来指定可能抛出的异常。多个异常可以使用逗号隔开。当在主函数中调用该方法时,如果发生异常,就会将异常对象抛给方法调用处。
2.异常有几种处理方式?
异常处理有两中处理方式:
(1)声明异常throws,throws用在方法声明之上,格式为:修饰符 返回值数据类型 方法名(参数) throw 异常名1,异常名2...{},用于表示当前方法不处理异常,声明异常,而是提醒该方法的调用者来处理异常。
(2)捕获异常Try{编写可以能会出现异常的代}catch(异常类型 e){处理异常的代码};JAVA中对异常有针对性的语句进行捕获,可以对出现的异常进行指定方式的处理,并求不会终止程序,有多次捕获多次处理、一次捕获多次处理和一次捕获一次处理,其中在JDK1.7之前针对一次捕获一次处理中在异常类型直接调用Exception,在之后则进行分类描述,处理异常的代码主要为记录日志/打印异常信息/继续抛出异常;Finally代码块,格式为Try{编写可以能会出现异常的代码}catch(异常类型 e){处理异常的代码}finally{程序代码,自身需要处理异常,最终还得关闭异常,写在finally中的代码无论异常是否发生,都会执行,且在因为异常导致程序跳转,也会执行。只有再try或者catch中调用退出JVM的相关方法时(System.exit(0)),finally才不会执行,否则finally永远执行。
3.什么是进程,什么是线程?
进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。
线程:进程内部的一个独立执行单元;一个进程可以同时并发的运行多个线程,可以理解为一个进程便相当于一个单 CPU 操作系统,而线程便是这个系统中运行的多个任务。
4.run()方法和start()方法的区别?
run()方法代表线程需要完成的任务,start()方法为开始启动线程
回复 使用道具 举报
1.throw和throws的区别?throws是用于方法申明上,告诉调用者自己不处理异常,返还给调用出来处理.
throw是用来抛出异常对象


2.异常有几种处理方式?
两种:一种是抛出去给虚拟机处理,还有一种就是使用try...catch自己处理.

3.什么是进程,什么是线程?
进程是指程序的一次执行过程,也是内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个
进程.
线程是进程当中的一个执行单元,一个进程可以同时并发多个线程,可以理解为进程好比一个cpu操作系统,而线程则是同时做多个任务



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

如果是使用对象的run(),相当于只是执行run()的方法体,并没有启动线程,所有程序还是单线程执行,而start()方法则是启动创建的线程
回复 使用道具 举报
官启文
1.throw和throws的区别?
1,throw 用在方法内,用来抛出一个异常对象的,将这个异常对象传递给调用者,并结束当前方法的执行
2,throws运用于方法声明之上,用于表示当前方法不处理异常,而是提醒该方法的调用者来处理异常(也叫抛出异常)
2.异常有几种处理方式?
1.throws抛出一个异常对象的,将这个异常对象传递给调用者
2.try-catch-finally:
2.1.try代码块中是可能出现异常的代码
2.2.catch代码块,是遇到异常,对异常进行处理的代码
2.3.finally代码块是无论是否发生异常,都必须执行的代码,用于释放资源.
3.什么是进程,什么是线程?
  1,进程是运行的程序
  2,线程是程序内部的执行单元,一个进程至少有一个线程
4.run()方法和start()方法的区别?
run() 在线程内调用Runnable对象的run方法,能多次调用
start()方法:启动一个线程,只能调用一次
回复 使用道具 举报
1.throw和throws的区别?

用在方法内,抛出异常,结束当前方法的执行
Throws方法之上, 声明异常,交给Jvm默认处理,程序可以继续执行

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

throws是用在方法的声明上 后接异常的类名称,把异常交给调用者处理
捕获异常try …catch …finally,是自己处理异常,处理完毕后代码可以继续执行,
try 代码块中是可能出现异常的代码块,catch是遇到异常,对异常的处理,finally是必须执行的代码
,除非停止运行Jvm,不可以有return关键字

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

进程是独立的,是程序运行的基本单位,一个程序运行可以有多个进程;
线程是在进程的基础上,一个进程可以有多个线程

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

run( )方法是 Thread的方法,用来重写子线程内容;
start( )方法是开启一个新的线程。
回复 使用道具 举报

梁端刚
1.throw和throws的区别?
throw在方法内,用于抛出异常对象,并中止当前方法运行
throws在方法名后,用于声明异常,将异常反馈给调用者JVM,JVM自行处理异常
2.异常有几种处理方式?
两种方式:声明异常throws
                捕获异常try...catch...finally
在多异常处理时:多次捕获,多次处理
                           单次捕获,多次处理
                            单次捕获,单次处理
3.什么是进程,什么是线程?
进程就是运行的程序,当一个程序运行时,内存就会相应的产生线程与线程的创建-运行-消亡的过程
线程就是进程的内部执行单元,可为单个,也可为多个

4.run()方法和start()方法的区别?
run()方法为自定义线程时多线程所执行的方法
start()方法为自定义线程时多线程启动的方法
回复 使用道具 举报

王博


1.throw和throws的区别?
throw 用来抛出异常,用在方法内部
throws 用来声明异常,用在定义方法时,写在方法名后面


2.异常有几种处理方式?
一种是抛出异常,交给JVM虚拟机处理
一种是我们自己通过 try catch 获取异常,然后进行处理


3.什么是进程,什么是线程?
进程是内存中运行的程序,是系统运行程序的基本单位,占用一个独立的内存空间,一个程序可同时运行多个进程
线程是进程的执行单元,一个进程至少包含一个线程,线程占用的资源远远小于进程,所用一般程序用多线程而不用多进程


4.run()方法和start()方法的区别?
定义一个子线程类时,要重写run()方法,run()方法中就是要进行多线程运行的类容
要进行多线程运行,就得在main()方法中创建子线程类对象调用start()方法开始执行多线程


回复 使用道具 举报
黄希
1.throw和throws的区别?
        throw用在方法中,主动抛出异常,立即结束当前方法。
        throws用在声明异常时,是编译期处理异常的一种方式,可以同时声明多个异常,用逗号,隔开。把问题标识出来,抛给调用者处理。

2.异常有几种处理方式?
        异常处理方式有两种,分为声明异常和捕获异常。
       
        a)声明异常:将问题标识出来,报告给调用者,抛给调用者处理
                使用方式:修饰符 返回类型 方法名(参数列表) throws 异常类名1, 异常类名2, ... {}
               
        b)捕获异常:使用try{}catch{}finally{},处理完毕后,程序可以继续执行
                三种处理方式:
                1)多个异常分别处理
                        try{}catch(异常类型 变量名){}
                        try{}catch(异常类型 变量名){}
                        ...
                       
                2)多个异常一次捕获,多次处理
                        try{}
                        catch(异常类型 变量名){}
                        catch(异常类型 变量名){}
                        ...
                        先处理的异常类不能是后处理的异常类的父类
                       
                3)多个异常一次捕获,一次处理
                        JDK1.7之前
                                try{}
                                catch(Exception 变量名){}
                        JDK1.7之后
                                try{}
                                catch(异常类名1 | 异常类名2 ... 变量名){}
                               
3.什么是进程,什么是线程?
        进程是指一个在内存中运行的应用程序,每个进程都有一个独立的内存空间;系统运行一个程序是一个进程从创建、运行到消亡的过程。
        线程是进程内部的一个独立执行单元,堆空间共享,栈空间独立,一个进程可以并发执行多个线程。
        一个进程至少包含一个线程。

4.run()方法和start()方法的区别?
        自定义线程类,需要继承Thread类,重写run()方法,run()方法中的代码表示启动该线程后要执行的任务。
        创建自定义线程类的对象后,调用start()方法启动该线程,执行run()方法中的代码。

回复 使用道具 举报
郑雪平

今天学习了异常和线程两方面的内容,异常是指程序在运行过程中出现了不正常的状况,java把这定义为异常类。异常是有分体系的,1.系统级别的错误(Error);2.代码级别的异常(exception).Error很难处理所以一般是不去处理的,exception异常程序员可以通过修改代码来解决的,它分为运行时期异常(RuntimeExcetion)和编译时期异常(非RuntimeExcetion)。遇到异常怎么处理呢?它是有处理方法的:1. throw   用在方法内部 用来抛出异常对象 ;2.throws 用在方法声明上 也就是声明抛出异常;3.捕获异常使用try...catch...finally...方式处理;4.自定义异常:1.继承RuntimeException的运行期异常;2.继承Excetion的编译期异常。
   线程有并发和并行两种,程序在内存中开始运行就产生了进程,线程就是进程中一个独立执行单元。进程与线程的区别是进程:有独立的内存空间,进程中的数据存放空间(堆空间和栈空间)是独立的;线程:堆空间是共享的,栈空间是独立。创建线程的步骤:1.创建Thread类的子类并重写Run()方法;2.创建线程对象;3.调用线程对象的Start()方法。
回复 使用道具 举报
1.throw和throws的区别?
throw用于方法体中,用于抛出一个异常对象到调用者处,交由调用者处理(继续抛下去或者就此捕获)
throws用于方法的声明中,将异常事先声明出来报告给调用者,如果方法内通过throw抛出了编译时期异常,又没进行捕获处理,则必须通过throws方法进行声明然后由调用者去处理。
2.异常有几种处理方式?
出现异常时,有两种思路:把异常对象抛出给调用者去处理或者利用try catch finally关键字去捕获处理
3.什么是进程,什么是线程?
进程是内存中运行的一个程序,每个进程的内存空间独立,一个应用可以同时运行多个进程,进程可以看作是一个程序运行一次的过程。
线程则是进程内的独立的执行单元,一个进程至少要包含一个线程,一个进程内可以有多个线程,每个线程的栈空间相对独立,而堆空间则是共享的(也因此可能出现线程安全问题。)
4.run()方法和start()方法的区别?
run方法内写的是线程在运行时候要执行的业务逻辑代码,而start方法则是“开启线程”,让run方法里的代码能够被作为一个独立的线程启动。而如果是直接调用run方法,那么,不过是单线程下一次普通的方法调用而已,而不是启动了独立的线程。

回复 使用道具 举报
唐杰

1.throw和throws的区别?
throw是写在方法内的,当执行到会有可能产生不合理数据的代码时,可以通过throw抛出一个异常对象.
throws是写在方法名后面,声明可能出现的异常,多个异常用逗号隔开.throws是将异常抛给调用处去处理,如果main方法也使用throws,则由JVM按照默认方法处理.

2.异常有几种处理方式?
异常有两种处理方式,throws和try...catch...finally
throws是将可能发生的异常抛出暂时不做处理,由调用处进行处理.
try..catch..finally是将可能发生的异常写在try的代码块里,异常发生后再执行catch代码块里的内容,至于finally则是不论异常是否发生都会执行的代码,按照需求选择是否使用.

3.什么是进程,什么是线程?
一个应用程序开始运行的时候就是一个进程,线程是进程里的一个执行单元,一个进程里面有至少一个线程或包含多线程.

4.run()方法和start()方法的区别?
在创建的线程对象中调用run方法则是运行该线程里的run方法,并不会起到并发的作用,代码还是会按照顺序做执行.要调用start方法才能开始线程对象起到并发的作用.
回复 使用道具 举报
1.throw和throws的区别?throw的使用是在方法内部 会抛出一个异常对象 程序执行到throw语句的时候 后面的语句也不会执行了
throws的使用时在声明方法之上 提示调用者去处理这个异常
2.异常有几种处理方式?
两种处理方式
一种是声明异常 让调用者去处理这个异常
一种是try catch finally 捕捉异常 解决异常
try是用来捕捉异常
catch是处理这种异常的解决办法
finally是无论什么情况 一定会执行这行代码
3.什么是进程,什么是线程?
进程就是一个正在运行的程序
线程就是一个正在运行的程序的一个执行单元 这个线程是可以有很多的 一个进程下会有很多的线程 也就是多线程
4.run()方法和start()方法的区别?

run方法是在一个类继承了Thread之后 重写的方法 里面是语句体
Start则是创建了线程类的对象 并且调用里面的start方法 开始多线程的运行

点评

写得好!!!  发表于 2018-6-26 21:50
回复 使用道具 举报
1.throw和throws的区别
throw是抛出创建的异常对象,然后停止程序的运行,throws是对方法有可能发生的异常作出声明.
2.异常有几种处理方式?
[1]Thows 将方法抛出给方法调用者,声明异常
[2]try{}catch(){}将异常捕获,并且对异常做相应的处理,一般可以记录日志,打印异常和让系统默认处理
3.什么是进程,什么是线程?
进程是程序运行过程,是操作系统运行的基本单位,线程是进程的独立执行单元,一个线程可以并发的运行多个线程
4.run()方法和start()方法的区别?
start方法是线程对象在main方法中开启子线程的功能,只能开启一次,run方法是线程对象调用的方法,使用方法跟普通方法没有什么区别
回复 使用道具 举报
刘慧梅
1.throw和throws的区别?
throw用在方法内,抛出异常对象,将对象传递给调用者,并结束当前方法的执行
throws用在方法之上,标识当前方法不处理异常,提醒该方法调用者处理异常。
2.异常有几种处理方式?
声明抛出(throws):用在方法之上,将异常交给方法调用者进行处理异常
捕获异常(try..catch):try可能出现异常的代码,catch给出处理方案。
3.什么是进程,什么是线程?
进程:进程就相当于是一个内存运行的应用程序。
线程:线程相当于在运行一个应用程序时所执行的某一个或多个任务。
4.run()方法和start()方法的区别?
run()方法是重写新的线程执行代码
start()方法是开启新的线程

回复 使用道具 举报
1.throw和throws的区别?
throw 方法体内抛出异常
throws方法上声明异常
2.异常有几种处理方式?
throw抛出异常
try...catch
3.什么是进程,什么是线程?
进程是独立内存运行的程序
线程是进程的一个单元,一个进程可以有多个线程
4.run()方法和start()方法的区别?
start()开启线程并且调用run()方法

点评

66  发表于 2019-7-14 14:50
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马