摘要: JDK8中包含了许多内建的Java中常用到函数接口,比如Comparator或者Runnable接口,这些接口都增加了@FunctionalInterface注解以便能用在lambda上。 name type description Consumer Consumer< T > 接收T对象,不返回值阅读全文
posted @ 2018-11-28 09:57 向南l 阅读(638) 评论(1) 编辑
摘要: disruptor是一个高性能的线程间异步通信的框架,即在同一个JVM进程中的多线程间消息传递。应用disruptor知名项目有如下的一些:Storm, Camel, Log4j2,还有目前的美团点评技术团队也有很多不少的应用,或者说有一些借鉴了它的设计机制。 下面就跟着笔者一起去领略下disrup阅读全文
posted @ 2018-11-15 09:56 向南l 阅读(407) 评论(5) 编辑
摘要: 从CompletableFuture到异步编程设计,笔者就分为2部分来分享CompletableFuture异步编程设计,前半部分总结下CompletableFuture使用实践,后半部分分享下CompletableFuture实现原理和异步编程设计机制。 (ps:本文内容较多,请耐心阅读。如果读者阅读全文
posted @ 2018-11-11 09:04 向南l 阅读(2431) 评论(1) 编辑
摘要: 多线程情况下对共享资源的操作需要加锁,避免数据被写乱,在分布式系统中,这个问题也是存在的,此时就需要一个分布式锁服务。常见的分布式锁实现一般是基于DB、Redis、zookeeper。下面笔者会按照顺序分析下这3种分布式锁的设计与实现,想直接看分布式锁总结的小伙伴可直接翻到文档末尾处。 分布式锁的实阅读全文
posted @ 2018-11-05 08:45 向南l 阅读(2879) 评论(6) 编辑
摘要: 反射,它就像是一种魔法,引入运行时自省能力,赋予了 Java 语言令人意外的活力,通过运行时操作元数据或对象,Java 可以灵活地操作运行时才能确定的信息 这里笔者就深入浅出总结下Java反射,若有不正确地方,感谢评论区指正交流~ 建议打开idea,写一个Java反射的demo,跟着调试,效果会更好阅读全文
posted @ 2018-11-02 08:03 向南l 阅读(483) 评论(0) 编辑
摘要: 之前有了解过disconf,也知道它是基于zookeeper来做的,但是对于其运行原理不太了解,趁着周末,debug下源码,也算是不枉费周末大好时光哈 :) 。关于这篇文章,笔者主要是参考disconf源码和官方文档,若有不正确地方,感谢评论区指正交流~ disconf是一个分布式配置管理平台(Di阅读全文
posted @ 2018-10-29 08:35 向南l 阅读(325) 评论(0) 编辑