2 z_yemu

尚未进行身份认证

一直在努力路上的程序员

等级
TA的排名 14w+

reduce和collect 自定义返回值

reduce 方法自定义约简需要三个参数:原值累积器组合器//计算字符串流的总长度 Stream<String>int result = words.reduce(0, (total, word)->total+world.length(), (total1, total2)->total1+tatal2);collect 方法,自定义返回集合需要三个...

2019-05-12 16:12:28

java8 Map中新增的方法介绍

相信大家都有看到,在java8后,大量的方法都包含两个单词,ifAbsent和ifPresent。absent表示缺席,理解为当前不存在即ifAbsent在map中主要意思就是如果get(key)==null执行present表示当下,理解为当下有值,即ifPresent在map中主要的意思就是如果get(key)!=null执行这里介绍常用的一...

2019-05-07 18:25:55

泛型之通配符-上界下界

在泛型中,通配符 ? 是比较难理解的一部分,这里,我们介绍下 上界和下界。直接给代码,在代码中看注释比较清晰。首先我们先准备一些类:public class Pair<T> { private T first; private T second; public Pair(T first, T second) { this.first = ...

2019-05-05 18:15:06

内部类和lamdba 引用最终变量(final)做更新操作

我们知道内部类使用外部变量时,需要的是一个不可变的量(final),但有时因为 final 限制显得并不太方便,如:我们想要在一个封闭作用域中设计一个计时器,如我们想要计算排序过程中的调用 compareTo的次数,那该怎么解决,一般我们是这么写: public static void main(String[] args) { int counter = 0; ...

2019-05-04 15:43:47

shiro学习2-登录认证流程分析

2.3 使用 ini 完成认证2.3.1 初始化操作:创建一个maven项目,添加依赖:<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> &lt...

2019-04-30 15:41:22

shiro学习1-权限管理和Shiro介绍

本博客 Shiro系别 的学习,是根据 《跟我学Shiro》一书和 叩丁狼Shiro视频教学 写下来的笔记1. 什么是权限管理实现用户访问系统的控制,按照安全规则或者安全策略限制用户操作,只允许用户访问被授权的资源。权限管理包括用户身份认证和授权两部分。简称认证授权。1.1 身份认证:​ 判断用户是否为合法用户的处理过程,最常用的身份认证就是通过用户名和口令,看其是否与系统中存储的用...

2019-04-30 11:30:17

JAVA8学习11-stream 流水线原理

看看大佬们写的把,我也还不是很清楚,等明白了,再补充。https://www.cnblogs.com/Dorae/p/7779246.html

2019-04-25 17:02:20

JAVA8学习10-spliterator 接口分析

1. spliterator 分割迭代器​ spliterator 是一个可分割迭代器(splitable iterator),可以和 iterator 顺序遍历迭代器一起看。jdk1.8发布后,对于并行处理的能力大大增强,Spliterator 就是为了并行遍历元素而设计的一个迭代器,jdk1.8中的集合框架中的数据结构都默认实现了 spliterator​ 分割迭代器主要是用来对源...

2019-04-24 10:01:57

JAVA8学习9-Collectors 类分析

9.2 Collectors 类分析​ 对应 Collectors 静态工厂类来说,其实共分为两种情况:通过 CollectorImpl 内部类来实现通过 reducing 方法来实现,reducing 方法本身又是通过 CollectorImpl 来实现的其实上面自定义的会了之外,看 Collectors 类的实现,都会感到很亲切的。这里不说了。介绍几个上面没用过的方法:9.2.1...

2019-04-23 09:01:26

JAVA8学习9-自定义收集器(Characteristics 使用说明)

9自定义收集器​ 在自定义收集器前,我们再确定下Collector接口函数接收参数和该实现的方法。publicinterfaceCollector<T,A,R>{//A结果类型,T中间操作类型,R最终返回类型,一般情况下,A=RSupplier<A>supplier();//源数据对象类型(中间操作对象类型)BiC...

2019-04-19 15:34:52

JAVA8学习8-Comparator 比较器详解

8comparator比较器详解​ intcompare(To1,To2)o1比o2返回负数,o1比o2小,返回0相等,返回整数01比02大。​ 在java8之后,comparator是一个函数式接口,对接口进行了增强(增加了相当多的默认方法)。reversed倒叙comparing比较器(comparingInt、comparingLon...

2019-04-19 11:03:49

JAVA8学习7-Collector接口详解以及实现类

7Collector接口详解(collect收集器、Collectors)*****************collect:收集器Collector作为collect方法的参数Collector本身是一个接口,它是一个可变的汇聚操作,作用是将输入元素累积到一个可变的结果容器中(如ArrayList是一个可变容器);(可选操作)它会在所有元素都处理完毕后,将累积的...

2019-04-19 09:01:22

JAVA8学习6-流(3)

6.8 并行流 parallelStream​ parallelStream 会充分利用我们计算机多线程,使程序执行更快,耗时更短。用法上与 stream 没有区别。实例代码:package cn.zxhysy.jdk8.steam;import java.util.ArrayList;import java.util.List;import java.util.UUID;impo...

2019-04-18 12:03:24

JAVA8学习6-流(2)

6.6 Stream 流的常用操作方法介绍流的操作前,先给出个问题:1, 3, 5,7, 9,11找出该流中大于2的元素,然后将每个元素乘以2,然后忽略掉流中的前两个元素,然后再去流中的前两个元素,最后求出流中元素的总和Stream<Integer> stream = Stream.iterate(1, item -> item + 2).limit(6);int su...

2019-04-17 08:26:03

JAVA8学习6-流(1)

6 流Collection 提供了心的 stream() 方法流不存储值,通过管道的方式获取值本质是函数式的,对流的操作会生成一个结果,不过并不会修改底层的数据源,集合可以作为流的底层数据源延迟查找,很多炉操作(过滤、映射、排序等)都可以延迟实现。6.1 流由3部分构成:源零个或者多个中间操作(惰性求值)终止操作(及早求值)6.2 流操作的分类:惰性求值及早求值...

2019-04-16 15:38:00

springboot&微信小程序实战_项目展示

这是我自己通过网上查询相关资料,编写的小程序商城,这里缺少快递信息、支付功能,其他的基本上都简简单单的设计到一些。本项目是基于springboot2.0框架与微信小程序技术开发的商城系统,只有前台展示没有后台管理,可能有时间的话,就会把后台管理也开发出来,完善一下小程序。这里就给大家看下我的作品,也许你会觉得很眼熟,没错,我是照着别人的界面敲出来的。大致上就是这样了需要代码的话,请到g...

2019-04-15 15:56:11

JAVA8学习5-接口默认方法(default)

5接口默认方法​ 在java8之后,我们可以在接口中写默认实现方法。使用关键字default定义默认接口实现​ 现在对接口默认方法的几种情况进行说明。5.1一个类实现一个默认实现方法的接口​ 首先我们定义一个接口packagecn.zxhysy.jdk8.dufaultmethod;publicinterfaceMyInterface{default...

2019-04-15 15:24:11

System.out 对象的初始化

闲心大家也跟我一样,在看 System 类时,都看不出 out 对象是什么时候被初始化的出 out 对象是什么时候被初始化的,准确来说,system 所有的 out、in、err 都是没看到被初始化过。截取 java8 System 类中的代码private static native void registerNatives(); static { register...

2019-04-15 12:03:51

JAVA8学习4-方法引用(Method reference)

4. 方法引用(Method reference)方法引用其实就是 Lambda 表达式的语法糖​ 方法引用本质上就是一个【函数指针】function pointer注意: 方法调用和方法引用没有半毛钱关系,如果学过 JavaScript 就类似于使用函数变量地址值的传递。方法引用分4类:​ 我们先建个类,用于对象排序。package cn.zxhysy.jdk8.methodref...

2019-04-13 17:36:25

JAVA8学习3-Optional类

3Optional类​ java.util包下解决空指针异常的类,java8之前,我们通过手动判断对否了空,但往往我们都会忘记判断,导致NPE。Optional是一个value-baseClass,最好不要在上面操作比较如equals。不建议用做参数类型或成员变量,因为optional没有序列化。optional通常作为方法的返回值。​ Optional本质就是一个容...

2019-04-13 15:06:20

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。