标签:函数式编程

Java

使用Optional摆脱NPE的折磨

13

puefu.he 发布于 2019-07-14

在目前的工作中,我对Java中的Stream和Lambda表达式都使用得很多,之前也写了两篇文章来总结对应的知识。 024:Java流实现Shell:cat 1.log | grep a | sort | uniq -c | sort -rn 函数式编程让你忘记设计模式 不过对于...

阅读(15)评论(0)赞 (0)

Java

Java并发编程实战: AQS 源码 史上最详尽图解+逐行注释

8

hellas 发布于 2019-07-13

Java并发编程实战: AQS 源码 史上最详尽图解+逐行注释 引言: 学习一个java并发编程工具的时候,我们首先要抓住这三点: 状态 一般是一个state属性,它基本是整个工具的核心,通常整个工具都是在设置和修改状态,很多方法的操作都依赖于当前状态是什么。 由于状态是全局共享...

阅读(31)评论(0)赞 (0)

Java

ReentrantLock 实现原理笔记(一)

28

小丁 发布于 2019-07-11

exclusive : adj. (个人或集体) 专用的,专有的,独有的,独占的; 排外的; 不愿接收新成员(尤指较低社会阶层)的; 高档的; 豪华的; 高级的 reentrant : 可重入; 可重入的; 重入; 可再入的; 重进入 一切从 Thread 线程开始 独占线程 e...

阅读(22)评论(0)赞 (0)

编程技术

从技术雷达看​DevOps的十年——容器技术和微服务

8

xubiao.zhuang 发布于 2019-07-11

在上一篇文章中,我们讲到了基础设施即代码和云计算给运维领域带来的深远影响。而 DevOps 运动不仅仅改变了运维端,同时也改变了开发端,特别是 Docker 的兴起和微服务架构的流行。在这一篇,我们将通过技术雷达上相关条目的变化来考察 Docker 和微服务的发展。 在 Dock...

阅读(22)评论(0)赞 (0)

Java

Java 并发编程中的死锁 ( Kotlin 语言讲解)

4

zhuangli 发布于 2019-07-07

Java 并发编程中的死锁 ( Kotlin 语言讲解) 什么是死锁? 在操作系统中的并发处理场景中, 进程对资源的持有与请求过程中,会产生死锁. Say, Process A has resource R1 , Process B has resource R2. If Pro...

阅读(33)评论(0)赞 (0)

Java

nest.js 6.4.1 发布,类 spring 的 node.js 框架

yeseng 发布于 2019-07-04

Nest.js 6.4.1 正式版发布了。Nest 是构建高效、可扩展的 Node.js Web 应用程序的框架。它使用现代的 JavaScript 或 TypeScript(保留与纯 JavaScript 的兼容性),并结合 OOP(面向对象编程),FP(函数式编程)...

阅读(19)评论(0)赞 (0)

Java

Java 12中新的switch表达式

xiaoli.wang 发布于 2019-07-02

Published: 02 Jul 2019 Category: Java JDK 12已经于19年3月发布了。这是Java 9发布时宣称采用6个月作为一个发布周期以来的第三个版本。这次又给我们带来了什么新东西?本文主要想介绍下预览模式下的一个新的语言特性:switch表达式。下...

阅读(36)评论(0)赞 (0)

Java

vavr:让你像写Scala一样写Java

4

xirruiqiang 发布于 2019-06-29

Hystrix是Netflix开源的限流、熔断降级组件,去年发现Hystrix已经不再更新了,而在github主页上将我引导到了另一个替代项目——resilience4j,这个项目是基于Java 8开发的,并且只使用了vavr库,也就是我们今天要介绍的主角。 Lambda表达式 ...

阅读(47)评论(0)赞 (0)

Java

Scala系列|了不起的Martin Odersky

3

puefu.he 发布于 2019-06-28

​ 本文同步自微信公众号: 浮世Talk(ID:fausai_talk) 了不起的人总能做出了不起的事,例如Scala之父Martin Odersky。 1980年,正在慕尼黑大学读本科的Martin第一次接触到编译器便为之痴迷,随即买了一台在当时称得上性能强悍的“便携式“电脑O...

阅读(35)评论(0)赞 (0)

编程技术

YRoute开发随笔

changyuan.xu 发布于 2019-06-25

YRoute 是一个新开发的Android路由库,使用了arrow函数式库作为核心库,是之前对于函数范式学习和思考的集大成者。但目前还在前期开发阶段,仅实现了一些简单的功能做架构验证用。 OOP中的23种设计模式相信大家已经烂熟于心了, 它们已经被广泛应用于软件工业的各个领域. ...

阅读(64)评论(0)赞 (0)

Java

JDK源码那些事儿之并发ConcurrentHashMap上篇

2

Harries 发布于 2019-06-23

前面前已经说明了HashMap以及红黑树的一些基本知识,对JDK8的HashMap也有了一定的了解,本篇就开始看看并发包下的ConcurrentHashMap,说实话,还是比较复杂的,笔者在这里也不会过多深入,源码层次上了解一些主要流程即可,清楚多线程环境下整个Map的运作过程就...

阅读(42)评论(0)赞 (0)

编程技术

前端架构,有什么能做的?

yanxinchi 发布于 2019-06-17

前端有架构吗?前端有架构模式吗? 架构是什么? 软件架构,是一种为了解决复杂问题的通用模式。软件架构,是关于软件系统的一系列有层次的技术决策的集合。换句话来说,当我们讨论架构的时候,不能只讨论某某架构,而是要包含其实施,以及后期的维护。 因为: 一个无法上线的应用架构,算不上是好...

阅读(49)评论(0)赞 (0)

Java

优雅地使用异常

dulong 发布于 2019-06-15

异常与错误码 在开发业务系统代码,我们会经常与异常与错误码打交道,但有时傻傻地分不清楚。编写代码时,到底是使用异常还是返回错误码,一直以来都被程序员们广泛争论。 我们先来看看他们的区别,在编程语言上区别: 异常:与面向对象编程结合紧密,它是一个类型系统,表示程序运行时发生错误的信...

阅读(58)评论(0)赞 (0)

Java

找工作

邓龙华 发布于 2019-06-14

历经长达两个月的找工作历程,到今天,终于把工作定下来了。感叹这一年互联网的行情是真的差。以前都只是听过互联网寒冬,以为是别人说着玩的,因为每次两周内都能找到工作。没想到这次是真的体验到什么是真正的寒冬了。 这期间拿了许多offer,也拒了许多offer。主要是行情差的让人怀疑人生...

阅读(36)评论(0)赞 (0)

Java

史上最坑爹的代码!个个让人崩溃!

6

邓龙华 发布于 2019-06-13

Java 就是这么一门神奇的语言,任何水平的人都能写出可以运行的代码,但是一看代码便知水平高低。作为一个程序员,你看过哪些坑爹代码,你又写过多少坑爹代码,还有多少你不知道的坑爹代码? 有意思的是码云上建了一个代码仓库:bullshit-codes,仓库的目的就是为了收集这些坑爹代...

阅读(53)评论(0)赞 (0)

编程技术

高性能服务器架构思路【不仅是思路】

22

xubiao.zhuang 发布于 2019-06-12

在服务器端程序开发领域,性能问题一直是备受关注的重点。业界有大量的框架、组件、类库都是以性能为卖点而广为人知。然而,服务器端程序在性能问题上应该有何种基本思路,这个却很少被这些项目的文档提及。本文正式希望介绍服务器端解决性能问题的基本策略和经典实践,并分为几个部分来说明: 缓存策...

阅读(80)评论(0)赞 (0)

Java

Java8函数式编程

5

xiaoli.wang 发布于 2019-06-12

最近使用lambda表达式,感觉使用起来非常舒服,箭头函数极大增强了代码的表达能力。于是决心花点时间深入地去研究一下java8的函数式。 一、lambda表达式 先po一个最经典的例子——线程 public static void main(String[] args) { //...

阅读(45)评论(0)赞 (0)

Java

Java 8 实战

刘莉莉 发布于 2019-06-09

很早就想仔细学了,终于有机会记一下笔记…… Lambda 表达式 函数式接口 只定义了一个 抽象 方法的的接口,值得注意的是,Java 8 引入了 stream 等方法,但是原先的 Collection 里没有。为了提高效率,接口的设计者就引入了 default 关键字来扩充接口...

阅读(45)评论(0)赞 (0)