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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

陈志铖 发表于 2019-3-25 21:32
1.throw和throws的区别?
throw关键字,它用来抛出一个指定的异常对象。
如果方法内通过throw抛出了编译时 ...

声明异常把异常抛出给调用的方法,最终可以让虚拟机处理,中断程序;
try...catch自己处理异常,程序可以继续运行
回复 使用道具 举报
1.throw和throws的区别?
答:throw用在方法内,用来抛出一个异常对象,将这个异常对象传递到调用者处,并结束当前方法的执行。
throws是声明异常,运用于方法声明之上,用于表示当前方法不处理异常,而是提醒该方法的调用者来处理异常(抛出异常)。
2.什么时候需要声明异常,什么时候不需要声明异常?
答:如果方法内通过throw抛出了编译时异常,而没有进行try...catch捕获处理,那么必须通过throws进行声明,让调用者去处理。声明时可以同时声明多个异常,用逗号隔开。
如果异常是运行中异常,那么可以声明异常处理,也可以选择不需要声明异常。
3.异常有几种处理方式?
答:两种。
      (1)声明异常:使用throws关键字对异常进行声明,表示当前不处理该异常,让调用者处理。
      (2)捕获异常:使用throw关键字来抛出一个指定的异常对象,将这个异常对象抛给调用者,并结束当前方法的执行。使用try...catch代码块对异常对象进行捕获,可以对异常进行指定的方式处理,处理后,之后的程序继续运行。
4.什么是并发,什么是并行?
答:并发:指两个或多个事件在同一个时间段内发生。
并行:指两个或多个事件在同一时刻发生(同时发生)
5.什么是进程,什么是线程?
答:进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。
线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。
简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程。
6.run()方法和start()方法的区别?
答:系统通过调用线程类的start()方法来启动一个线程,此时该线程就处于就绪状态,而非运行状态,也就意味着这个线程可以被JVM来调度执行。在调度过程中,JVM通过调用线程类的run()方法来完成实际的操作,当run()方法结束后此线程就会终止。
如果直接调用线程类的run()方法,这会被当作一个普通的函数调用,程序中仍然只有主线程这一个线程,也就是说start()方法能够异步的调用run()方法,但是直接调用run()方法却是同步的因此也就无法达到多线程的目的。
回复 使用道具 举报
1234
您需要登录后才可以回帖 登录 | 加入黑马