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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 苏阿合 于 2018-12-27 21:26 编辑

1.等待唤醒机制存在的意义是什么?       
可以实现多线程之间的通讯,让多个线程共同处理同个资源,有效合理的利用资源。
2.调用wait()方法和notify()方法,需要注意什么?       
注意:
(1)调用wait()方法和nitify()锁对象要是同一个
(2)同步代码块的锁对象要同一个
(3)调用wait()方法和notify()方法要在synchronized同步代码块中
(4)wait()方法和notify方法都是属于Object类中的方法,所以它的锁对象可以是任意对象
3.使用线程池来操作线程有什么好处?
(1)cpu:降低了资源消耗。减少了线程的创建和销毁次数,每个线程还可以重复的利用
(2)用户:提高了响应速度。当有线程任务时,可以不用创建线程,可以调用线程池中的线程执行线程任务
(3)程序员:提高了线程的可管理性。可根据使用的系统承受能力,中调整线程池中线程数,避免应线程创建过多,而导致系统内存溢出
4.传统的面向对象编码有什么弊端?
代码过多,语法太复杂
(1)需要编写实现类
(2)需要重写方法
(3)创建对象
5.什么情况下可以使用lambda表达式来替换面向对象编码?
(1)必须有函数式接口(接口中只有唯一一个抽象方法)
(2)必须接口上下文关系(有接口类型作为变量类型或参数列表数据类型,接收的一定是一个接口的实现类
6.什么情况下lambda表达式可以简写?
原理:可推导可省略
(1)当接口的参数列表有两个变量参数是,参数的数据类型可以省略 (int a ,int b)—>(a,b)
(2)当接口的参数列表只有一个变量参数,小括号和数据类型可以省略(int a )->a
(3)如果Lambda表达式中的方法执行语句只有一句的话,大括号,return,分号可以省略  {return a+b;}—>a+b  注意:要么三个要一起省略,要么三个一起不省略,不能省略一部分


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马