读一些英文技术文章的时候,很多时候,发现有argument、parameter混用的情况。以前上学的时候,也碰到过类似的情况。为了彻底弄清楚,这两者的区别,我特意在英文社区里面查了很多东西。其中微软的一个解释,我最符合我的心意。 简单点说,一个是实参,一个是形参。通常来说,实参是函数调用时候的参数,形参是函数定义和实现的使用。 一个英文定义 这个定义在很多编程语言里面是通用的 To communi … 继续阅读
作者归档:lucas
分布式锁以及基于Redis的实现
使用场景 在某些场景中,多个进程必须以互斥的方式独占共享资源,这时用分布式锁是最直接有效的。 分布式锁需满足四个条件 分布式锁需满足四个条件 为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件: 互斥性。在任意时刻,只有一个客户端能持有锁。 不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。 解铃还须系铃人。加锁和解锁必须是同一个客户端,客 … 继续阅读
(三) Java函数式编程:函数式接口
Java内置的函数式接口 JDK 8 中提供了一组常用的核心函数接口: 接口 参数 返回类型 描述 Predicate T boolean 用于判别一个对象。 Consumer T void 用于接收一个对象进行处理但没有返回 Function<T, R> T R 转换一个对象为不同类型的对象 Supplier None T 提供一个对象 UnaryOperator T T 接收对象并返回同 … 继续阅读
(二) Java函数式编程:Lambda表达式
Lambda表达式简介 Java 8的最大变化是引入了Lambda表达式(Lambda 是希腊字母 λ 的英文名称)——一种紧凑的、传递行为的方式。编写Lambda表达式时,也会随之被编译成一个函数式接口。 Lambda 表达式 Lambda表达式的语法: (argument-list) -> {body} (参数列表) -> {若干语句;} 1) 参数列表: 可以为空,也可以非空. … 继续阅读
(一) 函数式编程
函数式编程 函数式编程是一种编程范式。什么叫范式?我的理解就是做事情的一种方法,做事情的一种规范。 函数式编程的一个重要特点就是,可以把函数本身作为参数传入另一个函数,也可以把函数作为返回结果。 在函数式编程中,函数是第一类对象,意思是说一个函数,既可以作为其它函数的输入参数值,也可以从函数中返回值,被修改或者被分配给一个变量。 函数式编程与命令式编程的区别 函数式编程与命令式编程最大的不同其实在 … 继续阅读
用专业语言表达,用通用语言沟通
语言的迭代 语言也是有迭代,用简单的词,加上一些修饰词或者加上另外一个意思,组成一个新的意思,并且定义为一个新词。 语言就是迭代的定义 三年级的小学生就把最基本的词学完了,但这远没有到掌握语言的地步。还有大量的基本词定义出来的词,还没有学。这其实并不阻碍表达,但表达得会啰嗦。比如一个小学生不会说stare,但会说:look directly and fixedly。甚至还会说:look direc … 继续阅读