1.等待唤醒机制存在的意义是什么?
答:
意义:让多线程达到自恰的目的,即多线程有规律的操作同一份数据;
2.调用wait()方法和notify()方法,需要注意什么?
答:
这两个方法必须由同一个锁对象调用:
这两个方法必须在同一个代码块使用
3.使用线程池来操作线程有什么好处?
答:
降低资源消耗;
提高响应熟读;
提高线程的可管理性;
4.传统的面向对象编码有什么弊端?
答:
重视的是实现的过程,代码太过冗余;
如Runnable代码,为了实现方法体,不得不先去创建实现类实现接口,然后重写重写方法,再创建实现类对象,最后才调用方法运行想要的方法体,但是这里面只有方法体和参数才是关键的,其余的代码都是不得不的,太过冗余。
5.什么情况下可以使用lambda表达式来替换面向对象编码?
答: 必须有函数式接口,即只包含一个抽象方法的接口;
必须有上下文引用,即必须有接口作为数据类型接受;
6.什么情况下lambda表达式可以简写?
答:
省略规则: 参数列表的数据类型可以省略;
如果参数只有一个,则参数列表的类型和小括号都可以省略;
如果方法体只有一行,那么方法体的大括号、return和分号都可以省略;
注意事项:如果想要进行省略,上述三者需要一起省略; |