logo头像
Snippet 博客主题

单例模式-Spring单例实现原理分析

在Spring中,被@Scope注解修饰Bean默认是单例模式的,即只有一个实例对象,多次获取Bean会拿到同一个对象. 单例注册表Spring采用单例注册表的特殊方式实现单例模式.首先自己写个单例注册表.我们可以通过Map缓存单例对象,实现单例注册表.值得注意的是,采用ConcurrentH...

线程切换导致ThreadLocal数据丢失分析

最近在使用Spring Cloud过程中,经常会遇见线程隔离(切换).导致ThreadLocal数据丢失.例如调用其他服务获取不到Threadlocal没有数据,服务之间传递请求头传递失败.通过查阅相关文档才发现:用Hystrix实现断路器,Zuul中默认使用的是信号量,其他默认都是线程隔离....

浅谈匿名函数,Lambda和闭包(Closure)

几乎所有的主流编程语言都对函数式编程有支持,我所用过的比如Java8的Lambda表达式,JavaScript和Groovy语言的闭包(Closure)等,其他的类似于Object-C的block,python的Lambda和C++11,看到这些,我都有点眩晕想吐的感觉. 匿名函数,Lambd...

Spring Cloud-使用高性能的OkHttp库

最近在做项目优化,研究了Spring Cloud底层源码,Http请求库默认是Apache HttpClient或者JDK自带的HttpURLConnection库.Java标准库提供了HttpURLConnection类来支持HTTP通讯。不过HttpURLConnection本身的API不...