1.什么是自旋锁自旋锁(spinlock):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。获取锁的线程一直处于活跃状态,但是并没有执行任何有效的任务,使用这种锁会造成busy-waiting。2.Java如何实现自旋锁?先看一个实现自旋锁的例子,java.util.concurrent包里提供了很多面向并
                            
                            
                                分类:
编程语言   时间:
2020-10-24 11:49:35   
                                阅读次数:
35
                             
                    
                        
                            
                            
                                Redis是一个高性能的key-value存储系统,被广泛用于微服务架构中。如果我们想要使用Redis集群模式提供的高级特性,则需要对客户端代码进行改动,这带来了应用升级和维护的一些困难。利用Istio和Envoy,我们可以在不修改客户端代码的前提下实现客户端无感知的RedisCluster数据分片,并提供读写分离、流量镜像等高级流量管理功能。RedisClusterRedis的一个常见用途是用作
                            
                            
                                分类:
其他好文   时间:
2020-10-22 22:59:55   
                                阅读次数:
22
                             
                    
                        
                            
                            
                                Existing lock /var/run/yum.pid: another copy is running as pid 19342. Another app is currently holding the yum lock; waiting for it to exit... The oth ...
                            
                            
                                分类:
其他好文   时间:
2020-10-20 16:35:38   
                                阅读次数:
30
                             
                    
                        
                            
                            
                                线程状态观测 线程状态。线程可以处于以下状态之一: NEW 尚未启动的线程处于此状态。 RUNNABLE 在Java虚拟机中执行的线程处于此状态。 BLOCKED 被阻塞等待监视器锁定的线程处于此状态。 WAITING 正在等待另一个线程执行特定动作的线程处于此状态。 TIMED_WAITING 正 ...
                            
                            
                                分类:
编程语言   时间:
2020-10-18 10:20:42   
                                阅读次数:
25
                             
                    
                        
                            
                            
                                
                    java 服务端测试代码: @Override public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception { buffer.writeShort(5); buff ...
                            
                            
                                分类:
编程语言   时间:
2020-10-05 21:23:34   
                                阅读次数:
42
                             
                    
                        
                            
                            
                                
                    下载mongodb源码,并解压: wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-4.0.11.tgz tar -zxvf mongodb-linux-x86_64-ubuntu1604-4.0.11.tgz ...
                            
                            
                                分类:
数据库   时间:
2020-09-24 20:47:08   
                                阅读次数:
37
                             
                    
                        
                            
                            
                                
                    进程的状态与转换 状态 进程是程序的一次执行。在这个执行过程中,有时进程正在被CPU处理,有时又需要等待CPU服务,可见,进程的状态是会有各种变化。为了方便对各个进程的管理,操作系统需要将进程合理地划分为几种状态。 三种基本状态 运行态(Running) CPU√ 其他所需资源× 占有CPU,并在C ...
                            
                            
                                分类:
系统相关   时间:
2020-09-18 03:26:14   
                                阅读次数:
66
                             
                    
                        
                            
                            
                                
                    论文修改技巧: 对于短文章来说,尽量不要出现太多缩写,对于不难记的(e.g. smart meter),不需要缩写 题目要“准确”+“吸引人”,不要出现缩写 Waiting list: introductio: % 需要更加深入一些,为什么要重新造轮子,传统方法到底有哪些挑战。 contributi ...
                            
                            
                                分类:
其他好文   时间:
2020-09-09 18:47:28   
                                阅读次数:
34
                             
                    
                        
                            
                            
                                    状态1:新建一个线程并且开启start()方法,使Java线程和操作系统线程联系起来; 状态2:Running——Waiting :调用wait方法 synchronized(lock){ lock.wait(); //进入waiting状态,释放锁 } synchronized(lock){ lo ...
                            
                            
                                分类:
编程语言   时间:
2020-07-28 22:50:50   
                                阅读次数:
107
                             
                    
                        
                            
                            
                                    1.MHA主库切换机制 1.读取配置中的指定优先级 candidate_master=1 check_repl_delay=0 2.如果数据量不同,数据量多的为主库 3.如果数据量相同,按照主机标签,值越小优先级越高 # 不问顺序 2.主机标签优先级测试 #配置MHA [root@db03 ~]#  ...
                            
                            
                                分类:
其他好文   时间:
2020-07-28 22:49:04   
                                阅读次数:
95