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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.等待唤醒机制存在的意义是什么?
答:为了避免线程安全问题。这个机制使有相互协作关系的多个线程在对一个共享数据进行操作时,不是同时处理,而是等一个完成后再由其他线程开始操作。

2.调用wait()方法和notify()方法,需要注意什么?
答:调用wait()方法和notify()方法需要注意如下几点:
1.两个线程同步代码块的锁对象必须是同一个
2.必须在同一锁对象调用两个方法
3.wait()和notify()调用的位置必须在同步代码块中

3.使用线程池来操作线程有什么好处?
答:
1.对于CPU而言,不需要实时的创建,销毁线程,这样子可以降低内存资源的消耗;
2.对于用户而言,因为只需要从线程池中提取出线程使用,不需要等待创建线程后在开始执行程序,所以提高了程序的响应速度;
3.对于程序员而言,因为系统的承受能力是固定的,而通过线程池可以有效的控制系统中的线程数量,不会导致系统过载而死机,所以这提高了线程的可管理性;

4.传统的面向对象编码有什么弊端?
答:传统的面向对象编码思想的弊端为:在完成一件事情的时候,首先会找到能做这件事情的对象,然后调用这个对象的方法,最后才能做完这件事情。
具体体现在:不得不编写实现类,不得不重写方法,不得不创建对象

5.什么情况下可以使用lambda表达式来替换面向对象编码?
答:lambda表达式的使用前提是:
1.重写方法接口必须是函数式接口(函数式接口指的是只包含一个抽象方法的接口)
2.必须有接口的上下文表达式(必须有接口类型来接收实现类对象)

6.什么情况下lambda表达式可以简写?
答:因为lambda表达式是可推导,所以当代码中使用lambda表达式时,其中很多的代码也是可以省略的。其中:
1.在参数列表中,括号中参数列表的数据类型可以省略;
2.在参数列表中,当参数只有一个时,可以把参数的数据类型和()一起省略;
3.一些代码:如果{}中的代码只有一条语句,那么无论是否有返回值,{},return,分号,都可以省略。
注意:要省略{},return,分号必须一起省略

点评

总结尽量多点自己的理解看法  发表于 2018-12-28 11:05
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马