简介 在Go服务中,对于每个请求,都会起一个协程去处理。在处理协程中,也会起很多协程去访问资源,比如数据库,比如RPC,这些协程还需要访问请求维度的一些信息比如说请求方的身份,授权信息等等。当一个请求被取消或者超时的时候,其他所有协程都应该立即被取消以释放资源。 Golang的context包就是用 ...
                            
                            
                                分类:
其他好文   时间:
2020-04-20 21:16:12   
                                阅读次数:
54
                             
                    
                        
                            
                            
                                Java中常用的七个阻塞队列介绍第一篇 在上一篇我们对Java中的队列分类做了简单的介绍。本文咱们主要来聊聊阻塞队列中的七个常用子类。这七个阻塞队列的学习步骤:先看源码,分析完源码之后,我们再来对每个队列进行总结。最后在来个大总结。文章可能有点长,但是,大家耐着性子看完,保证你对这七大阻塞队列有深刻 ...
                            
                            
                                分类:
编程语言   时间:
2020-04-20 13:38:58   
                                阅读次数:
61
                             
                    
                        
                            
                            
                                    解压安装包 tar -zvxf apache-flume-1.6.0-bin.tar.gz 添加配置文件 #定义三大组件的名称 ag1.sources = source1 ag1.sinks = sink1 ag1.channels = channel1 # 配置source组件 ag1.sourc ...
                            
                            
                                分类:
Web程序   时间:
2020-04-18 23:21:34   
                                阅读次数:
152
                             
                    
                        
                            
                            
                                HashMap源码分析 简介 HashMap是一个底层用数组+链表实现的存储KV键值对数据结构,它允许null键和null值。 原理 HashMap的存储规则是,根据K的hashCode运算得到hash值,然后根据hash值运算得到下标,如果数组中该下标没有值就放入,有值就一个一个比较是否hash值 ...
                            
                            
                                分类:
其他好文   时间:
2020-04-17 00:11:06   
                                阅读次数:
52
                             
                    
                        
                            
                            
                                    要点 ConcurrentHashMap是HashMap的线程安全版本; 不允许[key,value]为null; 比Hashtable锁粒度更细; 采用CAS和synchronized来保证并发安全。数据结构跟HashMap1.8的结构一样,数组+链表/红黑二叉树; 负载因子0.75; 默认初始化 ...
                            
                            
                                分类:
编程语言   时间:
2020-04-16 19:40:58   
                                阅读次数:
76
                             
                    
                        
                            
                            
                                    一、前言 这篇博客来分析一下 的实现原理以及常见问题,由于现在时间比较晚了,我就不废话了,直接进入正题。 二、正文 2.1 ThreadLocal是什么 在讲实现原理之前,我先来简单的说一说 是什么。 被称作 线程局部变量 ,当我们定义了一个 变量,所有的线程共同使用这个变量,但是对于每一个线程来说 ...
                            
                            
                                分类:
其他好文   时间:
2020-04-16 16:54:18   
                                阅读次数:
73
                             
                    
                        
                            
                            
                                    1.BeanPostProcessor接口 Spring 作为优秀的开源框架,它为我们提供了丰富的可扩展点,除了前面提到的 Aware 接口,还包括其他部分,其中一个很重要的就是 BeanPostProcessor。这篇文章主要介绍 BeanPostProcessor 的使用以及其实现原理。我们先看 ...
                            
                            
                                分类:
编程语言   时间:
2020-04-16 14:50:43   
                                阅读次数:
59
                             
                    
                        
                            
                            
                                    在原子类持续累加或累减时,比如AtomicInteger的incrementAndGet时,是不存在ABA问题的,但compareAndSet或者updateAndGet是可能存在ABA问题,像AtomicBoolean或AtomicLong等这样的变量在多线程修改时,也都存在ABA的问题。为了理解 ...
                            
                            
                                分类:
编程语言   时间:
2020-04-16 11:42:37   
                                阅读次数:
105
                             
                    
                        
                            
                            
                                    1. createBeanInstance protected BeanWrapper createBeanInstance(String beanName, RootBeanDefinition mbd, @Nullable Object[] args) { // 解析 bean ,将 bean  ...
                            
                            
                                分类:
编程语言   时间:
2020-04-15 18:20:19   
                                阅读次数:
59
                             
                    
                        
                            
                            
                                # Flume 监控文本文件sink到kafka a1.sources = r1a1.sinks = k1a1.channels = c1 # Describe/configure the source a1.sources.r1.type = execa1.sources.r1.command = ...
                            
                            
                                分类:
Web程序   时间:
2020-04-15 18:06:21   
                                阅读次数:
74