1.等待唤醒机制存在的意义是什么?
意义:java是单线程并发运行,线程执行顺序随机。通过唤醒机制可以控制线程的执行流程。
即,在多个共用资源的线程中,我们希望控制他们的执行规律。
2.调用wait()方法和notify()方法,需要注意什么?
注意: (1)wait()和notify()方法需要在同步代码块中执行
(2)需要同一个锁对象。
(3)通过锁对象来调用wait()和notify()方法。
3.使用线程池来操作线程有什么好处?
好处: (1)节省内存资源。(系统方面)
(2)提高响应速度(用户方面)
(3)方便管理多个线程。(程序员)
4.传统的面向对象编码有什么弊端?
弊端: (1)必须编写实现类(2)必须重写方法 (3)必须创建对象
即,操作固定重复冗长,占用大量资源。
5.什么情况下可以使用lambda表达式来替换面向对象编码?
使用前提:(1)必须是函数式接口:有且只有一个抽象方法的接口。因为多个方法系统无法辨别省略是哪个方法省略。
(2)必须有实现类接收,因为接口本身不能创建对象。
(3)在程序中必须有上下关系,因为系统需要推导省略的依据。
6.什么情况下lambda表达式可以简写?
原则:可推导->可省略
(1)可以省略小括号中的参数类型(int a,int b)->(a,b)
(2)如果小括号中只有一个参数,那么小括号可以省略(int a)->{} a->{}
(3)如果lambda表达式中{}中只有一条语句,看分号。一个分号就是一条语句。可以省略 {} ,renturn , ;
注意:三个要么一起省略,要不一起不省略,不能省略部分
|