什么时候可以使用Lambda?通常Lambda表达式是用在函数式接口上使用的。从Java8开始引入了函数式接口,其说明比较简单:函数式接口(FunctionalInterface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。一、语法定义/***定义函数式接口*接口上标注@FunctionalInterface注解*/@FunctionalInterfacepublicinterf
分类:
编程语言 时间:
2020-08-03 23:24:03
阅读次数:
66
File类 1.1File类概述和构造方法 File类介绍 它是文件和目录路径名的抽象表示 文件和目录是可以通过File封装成对象的 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。它可以是存在的,也可以是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的 F ...
分类:
其他好文 时间:
2020-08-03 17:20:46
阅读次数:
78
背景 Webpack 迭代到4.x版本后,其源码已经十分庞大,对各种开发场景进行了高度抽象,阅读成本也愈发昂贵。但是为了了解其内部的工作原理,让我们尝试从一个最简单的 webpack 配置入手,从工具设计者的角度开发一款低配版的 Webpack。 开发者视角 假设某一天,我们接到了需求,需要开发一个 ...
分类:
Web程序 时间:
2020-08-02 16:11:17
阅读次数:
101
前言在Java12里面有个非常好用但在官方JEP没有公布的功能,因为它只是Collector中的一个小改动,它的作用是merge两个collector的结果,这句话显得很抽象,老规矩,我们先来看个图(这真是一个不和谐的图):管道改造经常会用这个小东西,通常我们叫它「三通」,它的主要作用就是将downstream1和downstream2的流入合并,然后从merger流出有了这个形象的说明我们就进入
分类:
其他好文 时间:
2020-08-02 10:25:37
阅读次数:
78
写在前面上一篇文章这次走进并发的世界,请不要错过给大家带了并发编程的开胃菜,接下来我们逐步上正餐,在吃正餐之前,我还要引用那首诗词:「横看成岭侧成峰,远近高低各不同」,远看看轮廓,近看看细节,不断切换思维或视角来学习远看并发,并发编程可以抽象成三个核心问题:分工、同步/协作、互斥如果你已经工作了,那么你一定听说过或者正在应用敏捷开发模式来交付日常的工作任务,我们就用你熟悉的流程来解释这三个核心问题
分类:
其他好文 时间:
2020-08-02 10:21:47
阅读次数:
101
写在前面Java有进阶,其名为并发,并发知识之大,一口吃不下。那好,请您多吃几口,又没说一顿吃完,细嚼慢咽才有味.所有Java书籍都将并发编程放在其高级/进阶篇章中,其重要性不言而喻,学好并发也是自身走入高级行列的必备素质之一并发/并行,进程/线程这些概念总是显得过于抽象,因为这是与操作系统沟通用到的词汇,就像我们习惯了使用十进制算法,二进制和16进制就需要思维的切换;生活中,我们彼此总是不能互相
分类:
其他好文 时间:
2020-08-02 10:21:32
阅读次数:
98
Lambda表达式(也称为闭包),它允许我们将函数当成参数传递给某个方法,或者把代码本身当作数据处理。很多语言(Groovy、Scala等)从设计之初就支持Lambda表达式。但是java中使用的是匿名内部类代替。最后借助强大的社区力量,找了一个折中的Lambda实现方案,可以实现简洁而紧凑的语言结构。一、匿名内部类到Lambda的演化匿名内部类,即一个没有名字的,存在于一个类或方法内部的类。当我
分类:
编程语言 时间:
2020-08-02 10:04:21
阅读次数:
79
一、多态 1.1 多态的概述 多态是面向对象一大特征 多态 : 表示事物的多种形态(事物的多种表现形式) 多态发生的前提: 1) 需要具有子父类的继承关系(类与接口实现关系) 2) 子类重写从父类继承来的方法 3) 父类的引用指向子类的对象 举例 : class Person{} class Doc ...
分类:
编程语言 时间:
2020-08-01 21:37:29
阅读次数:
100
首先看看柯里化到底是什么? 维基百科上说道:柯里化,英语:Currying(果然是满满的英译中的既视感),是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。 看这个解释有一点抽象,我们就拿被做了无数次示例的add函数,来做一 ...
分类:
其他好文 时间:
2020-08-01 21:19:14
阅读次数:
61
目前18.6版本和之前的coredns都会出现超时5s的情况,那么为什么会出现coredns超时的情况发生?背景在Kubernetes中,Pod访问DNS服务器(kube-dns)的最常见方法是通过服务抽象。因此,在尝试解释问题之前,了解服务的工作原理以及因此在Linux内核中如何实现目标网络地址转换(DNAT)至关重要。服务是如何工作的?在iptables模式下(默认情况下),每个服务的kube
分类:
系统相关 时间:
2020-08-01 12:39:45
阅读次数:
104