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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.什么是函数式接口,函数式接口和什么有关,和什么无关
答:函数式接口指的是有且仅含有一个抽象方法的接口,函数式接口和抽象方法有关,和接口的默认方法,私有方法,静态方法无关。

2.lambda表达式在什么情况下可以提高程序的性能?
答:有些代码在执行以后不会一定会被使用,这就造成了计算机的性能浪费,而lambda表达式具有延迟执行的特点,lambda表达式只有当条件达成以后才会执行重写的方法内容,这就避免了性能的浪费。

3.Supplier接口的作用, Consumer接口的作用?
答:Supplier接口的作用是:通过get()方法获取一个指定泛型的数据
Consumer接口的作用是:用过accept()方法对一个指定泛型的数据进行操作(可以是打印,复制,截取等等)。

4.Predicate接口的作用,里面都有哪些方法?
答:Predicate接口的作用是通过test()方法对指定泛型数据类型的数据进行判断。
方法有抽象方法test(),对指定数据类型的数据进行判断
默认方法,and(),对两个Predicate接口的实现类对象的判断结果进行逻辑与操作。
or(),对两个Predicate接口的实现类对象的判断结果进行逻辑或操作。
negate(),对一个Predicate接口的实现类对象的判断结果取非操作。

5.Function接口的作用,Function接口里面的andThen方法的作用?
答:Function接口的作用是,通过apply()方法,把泛型类型A的数据转换为泛型类型B的数据,AB可以为同一种泛型类型,也可以是不一样的泛型类型。
andThen的作用是:对于两个Function接口的实现类对象和最开始的泛型A的数据a,先通过第一个实现类对象把a转换为泛型B的数据b并把b传给下一个实现类对象,再由第二个实现类对象把b转换为泛型C的数据c,其中ABC可以为同一种泛型类型,也可以是不一样的泛型类型。
回复 使用道具 举报
1.什么是函数式接口,函数式接口和什么有关,和什么无关
    函数式接口就是有且只有一个抽象方法的接口,函数式接口和接口中的其他抽象方法有关,如果有多个抽象方法就不是函数式接口,和默认方法,静态方法,私有方法无关.就是这些方法有上千个,但是只有一个抽象方法,那么就是函数式接口.
2.lambda表达式在什么情况下可以提高程序的性能?
     在某些场景,代码执行后的结果并不会被使用到,从而造成性能上的浪费,而lambda表达式是延迟执行的,如果条件不满足,那不就不会执行方法体中的代码.从而提高了性能.
3.Supplier接口的作用, Consumer接口的作用?
    Supplier接口用来生产一个指定数据类型的数.它有返回值,没有参数列表.
     Consumer接口是用来消费一个数据的,它有参数列表,没有返回值
4.Predicate接口的作用,里面都有哪些方法?
     Predicate接口用于对某种数据类型的数据进行判断,得到的是布尔值.
     and方法,等同于&&方法,它和&&所代表的意义都是一样的,只有两个条件都为真时才为真;
     or方法,等同于||方法,它和||所代表的意义都是一样的,只要有一个条件都为真就为真;
     negate方法,等同于!方法,它和!所代表的意义都是一样的,都是取反;
5.Function接口的作用,Function接口里面的andThen方法的作用?
     Function接口的作用 就是用来转换数据类型的,它可以把我们所传入的数据类型,转换成另外一种数据类型.andThen方法的作用就是用来进行组合操作的他可以拼接多个参数.
     




回复 使用道具 举报
1为什么使用lambda表达式?
我想实现一个借口的实现类中的方法
不得不编写一个类实现接口
不得不重写接口中的抽象方法
不得不创建实现类的对象

首先引入匿名内部类 解决了编写实现类的问题 匿名内部来只解决一部分问题,没有全部解决引入,jdk8新特性lambda,将三个问题全部解决

lambda的格式
()->{}
()重写方法的参数列表
->   传递参数
{ }  是重写的方法体内容  






lambda省略条件
参数列表数据类型一致 类型可以省略
参数列表只有一个参数 ()和数据类型可以一起省略
方法体{}只有一个语句 可以省略return {} ;  三个必须一起

函数式接口
只有一个抽象方法 不看默认方法 静态方法,私有方法等其他方法的多少

1supplier<T>接口 仅包含一个无参的方法 T get() 用来获取一个泛型为指定类型的对象数据

supplier被称为生产型接口,指定接口泛型是什么,get方法就生产什么类型数据

supplier参数是一个接口 ,所以可以传递一个lembda表达式
今日学习函数式接口作为方法参数列表的步骤
(1)确定函数式接口的泛型
(2)将函数式接口作为方法的参数传递,定义方法,分析方法三要素。方法名,参数列表,返回值,
(3)在这个方法中调用函数式接口中重写的抽象方法
(4)在主方法中调用定义的方法,进行参数传递

consumer是一个消费型的接口,数据类型有泛型决定。接口中的抽象方法void accept(T t)

步骤
确定函数式接口的泛型,要消费的数据是什么类型,那么泛型就是什么类型,
定义方法的三要素,
参数列表 (消费的数据,函数式接口)
无返回值
在main方法中 定义方法,传递参数字符串,函数式接口()

predicate<T>接口
接口中包含一个抽象方法
boolean test(T t):用来对数据类型进行判断的方法
结果 符合返回true
不符合 false

定义一个方法
参数传递一个String类型的字符串
传递一个predicate接口,泛型使用String
使用predicate中方法test对字符串进行判断,

1确定函数式接口的泛型,泛型是需要校验数据的类型
2定义方法 三要素
参数列表 需要校验的数据,函数式接口







回复 使用道具 举报
             1.软件结构从大的角度上来讲,分为哪两类?
答:客户端\服务器(Client\Server) 结构(C\S)和浏览器\服务器(Browser\Server)(B\S)

2.TCP/IP协议分为几层,我们今天写的是哪一层的逻辑?
答:四层。应用层、传输层、网络层、链路层。 TCP\IP协议是在网络层。

3.TCP和UDP协议的区别?
答:区别:
1.传输方式 TCP协议是三次握手,UDP只是关注发送,不管接收

2.传输效率 TCP传输效率低,安全度高;UDP传输效率高,安全度低,数据有可能丢失,相对不安全。

3.应用场景 TCP多用于重要文件的下载传输(文档,电影等);UDP多用于,视频聊天,语言聊天等丢失一些数据不会影响用户使用的情况下。


4.什么是三次握手?
答:1.客户端向服务器发出请求。2.服务器发送相应的消息(确认已经收到请求)。3.客户端再次发送相关的确认消息。(请求-确认-确认)

5.网络编程三要素都是什么?
答:协议 IP地址 端口号

6.请描述一次文件上传的流程?
答:
1.客户端通过本地输入流读取本地硬盘的文件
2.客户端通过网络输出流把数据上传
3.服务器接收到客户端的请求
4.服务器通过网络输入流读取数据
5.服务器通过本地输出流把数据写到服务器的本地硬盘(判断是否要新建文件)
6.服务器通过网络输出流,向客户端传输“文件上传成功”的通知
7.客户端通过网络输入流,读取服务器发出的通知。
优化方式:1.对于上传文件名称 2.使用循环多次上传 3.开启多线程提高效率
回复 使用道具 举报

1.什么是函数式接口,函数式接口和什么有关,和什么无关
        有且只有一个抽象方法的接口
       
2.lambda表达式在什么情况下可以提高程序的性能?
        有些场景的代码执行后,结果不一定会被使用,从而造成性能浪费。而Lambda表达式是延迟执行的,这正好可以作为解决方案,提升性能。
       
3.Supplier接口的作用, Consumer接口的作用?
        Supplier<T>接口被称之为生产型接口,指定接口的泛型是什么类型,那么接口中的get方法就会生产什么类型的数据
        Consumer接口中包含抽象方法void accept(T t),意为消费一个指定泛型的数据。Consumer 接口是一个消费型接口,泛型执行什么类型,就可以使用accept方法消费什么类型的数据至于具体怎么消费(使用),需要自定义(输出,计算....)
4.Predicate接口的作用,里面都有哪些方法?
            作用:对某种数据类型的数据进行判断,结果返回一个boolean值
        and
        or
        negate
       
5.Function接口的作用,Function接口里面的andThen方法的作用?
        java.util.function.Function<T,R>接口用来根据一个类型的数据得到另一个类型的数据,
    前者称为前置条件,后者称为后置条件。
        Function接口中最主要的抽象方法为:R apply(T t),根据类型T的参数获取类型R的结果。
    使用的场景例如:将String类型转换为Integer类型。
       
        Function接口中的默认方法andThen:用来进行组合操作

回复 使用道具 举报
1.什么是函数式接口,函数式接口和什么有关,和什么无关
函数式接口就是有且只有一个抽象方法的接口;
函数式接口和抽象方法数量有关,和默认方法以及静态方法的数量无关;

2.lambda表达式在什么情况下可以提高程序的性能?
有些场景的代码执行后,结果不一定会被使用,从而造成性能浪费。而Lambda表达式是延迟执行的,这正好可以作为解决方案,提升性能。

3.Supplier接口的作用, Consumer接口的作用?
Supplier接口是生产型接口,是一个无参接口,但是能够生成一个泛型对象数据作为返回值,由于Supplier接口是函数式接口,这也就意味着对应Lambda表达式需要“对外提供”一个符合泛型类型的对象数据。
Consumer接口是消费型接口,与Supplier接口正好相反,参数接受一个泛型对象,想参数消费,没有返回值;

4.Predicate接口的作用,里面都有哪些方法?
Predicate接口可以对某种类型的数据进行判断,从而得到一个boolean值结果;
Predicate接口里主要有test方法,and方法,or方法,negate方法:
test方法:对某种类型的数据进行判断,返回一个布尔值;
and方法:和逻辑判断符&&作用相同,将两个或多个Predicate接口连接起来实现"并且"的效果;
or方法:和逻辑判断符||作用相同,将两个或多个Predicate接口连接起来实现"或者"的效果;
engate方法:和逻辑判断符!作用相同,将Predicate接口返回的结果"取反";

5.Function接口的作用,Function接口里面的andThen方法的作用?
Function接口是通过一个类型的数据得到另一个类型的数据,前者称为前置条件,后者称为后置条件;
andThen方法是将以上接口进行组合操作,类似先做什么再做什么的效果;
回复 使用道具 举报 1 0
1.什么是函数式接口,函数式接口和什么有关,和什么无关
函数式接口:有且只有一个抽象方法的接口,函数式接口与接口中的抽象方法有关和接口中的默认方法,静态方法,私有方法无关

2.lambda表达式在什么情况下可以提高程序的性能?
Lambda延迟执行是在条件成立后,才会用接口名调用方法的时候去执行重写的抽象方法中的代码,避免了资源的浪费,且提高了程序的性能

3.Supplier接口的作用, Consumer接口的作用?
Supplier接口的作用:可以通过T get()方法返回值得到一个我们需要的数据
Consumer接口的作用:可以通过void accept(T t)方法将传入的数据进行内部消费,比如(输出打印,计算);andThen可以把两个Consumer接口组合到一起,在对数据进行消费(谁写在前面谁先消费)

4.Predicate接口的作用,里面都有哪些方法?
Predicate接口的作用:可以通过boolean test(T t)方法对传入的数据进行判断,并返回一个boolean值(有参数,返回值);里面有方法and()方法(&& 并且),or()方法(|| 或者),negate()方法(! 非)

5.Function接口的作用,Function接口里面的andThen方法的作用?
Function接口的作用:可以通过R apply(T t)方法将一个类型的数据转换得到另一个类型的数据
Function接口里面的andThen方法的作用:用来进行组合操作(可以将上一次转换的结果作为参数继续进行转换)
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马