java基础浅学

java基础浅学

jdk了解官网

jdk1.8的新特性

速度更快(垃圾回收机制,HashMap,HashSet,ConcurrentHashMap:分段锁改成CAS算法,),代码更少,强大的Stream API,便于并行,最大化减少空指针异常。

Lambda表达式

简介

什么是lambda?
java8添加的一个新特性,是一个匿名函数。
为什么要使用lambda?
使用lambda表达式可以对接口进行非常简洁的实现。
对接口的要求?
要求接口中定义的必须要实现的抽象方法只能是一个。(没有default)
@FunctionalInterface :修饰函数式接口,接口中的抽象方法只有一个。
ps:字节码指令研究,default

基础语法

() -> { };

    //():用来描述参数列表
    //{}:用来描述方法体
    //->:lambda运算符,读者goes to

语法精简:
1.参数类型可省略;
2.参数数量只有一个,小括号可以省略;
3.方法体只有一个语句,大括号可以省略;
4.方体中唯一的语句是返回语句,省略大括号的同时,return也需要省略。

语法进阶

方法引用:将lambda表达式的实现指向一个已经实现的方法。
//语法:方法隶属者::方法名
//注意:参数数量和类型一定要和接口中定义的方法一致,返回值类型同上。
案例:list排序实现;TreeSet对象排序实现

系统内置函数式接口

有空去了解一下

闭包问题

提升变量的声明周期,lambda使用局部变量,必须是常量。

Stream Api

概念:jdk8 Api的新成员,允许以声明性方式处理数据集合。是用于对集合迭代器的增强,使之完成更高效的聚合操作(过滤、排序、统计分组)或者大批量数据操作。
特点:(1)代码简介:函数式编程写出的代码简介且意图明确,使用stream接口让你告别for循环。
(2)多核友好:java函数式编程使得编写并行程序变得简单,只需调用方法即可。

流程

把集合转换成stream,操作stream流(stream流在管道中经过中间操作(intermediate operation)的处理,最后由最终操作(terminal operation)得到前面处理的结果)

操作符

两种:中间操作符,终止操作符。

接口的增强

并行数组排序

Optional中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值