自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 问答 (4)
  • 收藏
  • 关注

原创 zookeeper QuorumPeer 生命周期

main 启动读取配置文件启动 zk 集群服务(quorumPeer 对象)准备选举(此后,zk 服务进入状态机)启动 quorumPeer 对象,进入选举状态机投票选举进入角色阻塞在当前状态…

2023-09-05 19:39:36 206

原创 java 中指令重排序的笔记

当CPU执行到屏障指令时,会暂停当前的执行流程,等待内存操作完成(本质是 cpu 上的加锁,比如总线索这种,这也就保证了 volatile 的可见性),此外会下令禁止指令的重排序,然后再继续执行。对于一些非热点代码,如单例构造器等,由于其执行频率较低,JVM通常会采用解释执行的方式来运行,这样就不需要考虑重排序问题。总之,了解热点代码重排序的原理对于编写高效且正确的Java程序非常重要,我们需要合理地使用volatile关键字来避免重排序问题的出现,并对程序的运行情况进行监控和优化。

2023-03-31 16:33:04 212

原创 服务cpu使用飙高排查相关操作

服务cpu使用飙高排查相关操作

2023-02-01 00:10:01 953

原创 记踩 redis RESP 协议的一次坑

RESP协议的换行符是什么?

2023-01-20 21:21:13 176

原创 为什么源码中喜欢额外声明一个局部变量来使用?

为什么源码中喜欢额外声明一个局部变量来使用

2022-07-02 12:19:34 391

原创 记一次中间件内存泄露问题排查

压测性能不稳定排查

2022-06-29 00:41:40 1064

原创 服务治理的大概内容

一、序言1.为什么要微服务拆分单体架构下:可扩展性受限服务和模块的可重用性低故障隔离范围低运维复杂度高没有服务治理微服务化之后,这些问题都可以解决。2.为什么要服务治理服务治理是对于服务的管理,以保证:1.避免微服务场景下潜在问题发生服务限流、熔断,都可以避免服务端的瘫痪或者潜在的雪崩风险2.实现服务的方式是最佳实践比如服务路由,流量分配二、服务治理的具体内容1.服务配置(1)服务路由服务路由是通过配置一定的

2021-07-13 10:38:53 5103

原创 服务治理的三种服务保护方法:熔断、限流、降级。

最近在看陈皓的一些课,感触很深,这里大概记录一下心得。一、熔断熔断的目的个人理解,熔断大多来源于:有限时间内过多的重试。之所以重试这么多次,可能是服务端或者请求方本身出现了问题。而引入熔断之后,可能避免过多无意义的失败请求。若服务方出现问题,请求方被熔断,从而使得请求方不会继续盲目调用。若请求方本身出现问题,也可以让请求方直接失败,避免自身无意义的等待或阻塞。熔断器的状态熔断器可以使用状态机来实现。闭合(Closed)状态:关闭熔断。我们需要一个调用失败的计数器,如果

2021-07-06 15:07:09 1470

原创 docker快速安装

今天自己配置maven私服的时候,用的是nexus来弄,直接安装挺麻烦的,就打算直接用docker来搞,然后发现自己的虚拟机里面没装docker,这里整理一下docker的快速安装。# 查询机器上已安装的dockeryum list installed | grep docker# 把查到的全部卸载yum remove -y xxxx xxxx xxxx# 删除原有的docker数据rm -rf /var/lib/docker# 也可以直接yum remove docker-ce# 最

2021-07-04 11:08:20 102

原创 BASE和CAP理论

一、CAP1.CAP简介C:(强)一致性同一时间所有节点的数据都一致A:可用性任何时候所有节点都可以提供服务,并在正常时间内响应P:分区容错性某些节点出错后,不影响整体提供服务。(分布式架构下,认定P总是成立)2.CAP理论CAP三者不可同时共存,只能以CP、AP、CA的形式满足要求。在分布式场景下,默认P是成立的,所以一般情况下,架构满足的是CP、AP。3.分布式场景下C和A的矛盾在分布式场景下,若要保证C,那么一个节点在更新数据dataX后,立马广..

2021-02-22 14:38:57 371 4

原创 java迭代器操作hasNext()、next()、remove()

2021-01-27 10:05:24 582

原创 关于【同步异步】和【阻塞非阻塞】的思考

同步异步着眼于,二者的协同工作时的状态,是否必须互相依赖,一个没立刻完成,另一个就必须等待。阻塞非阻塞着眼于,二者协同工作时,其中一者本身发生等待的状态。同步:一项任务A的完成,必须依赖于另一项任务B。在B没有完成之前,任务A无法完成。A可能会等待任务B完成的过程中,啥也不干,干等着(阻塞);也可以做点别的事情,抽空回来看一下B完成没有(非阻塞)。异步:一项任务A的完成,必须依赖于另一项任务B。但是A和B可以独立完成自己的任务,A不用专门去管B完成的进度,只需要做自己的事情即可。..

2020-12-22 09:52:25 114

原创 测试jedis的redis的实用功能

最近在学redis高级特性。练练手。package com.wyq;import org.junit.Test;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.Pipeline;import java.io.IOException;import java.util.List;public class Test1_Jedis {

2020-09-22 12:01:57 152

原创 内部类、匿名内部类、lambda表达式的使用

写的比较简单,主要是熟悉jse中的一些概念,以及Lambda表达式的使用package com.vecheer;//look// 函数式接口 —— 只有一个方法的接口// 只有函数式接口才可使用Lambda表达式interface Iprovider { void provide(String saler);}//look 1.普通的外部类class Saler1 implements Iprovider { public void provide(String

2020-06-24 09:56:14 222

原创 spring配置service事务不起作用

这里的终极原因是:Spring版本问题,比较新的版本中,藏着一个哈批属性。springmvc.xml中的扫描包的标签:< context:component-scan >有一个贼几把坑的默认属性:use-default-filters="true"。< context:component-scan >这个标签中有一个我们常用到子标签 :< context:in...

2020-05-04 23:38:09 834 1

原创 Eclipse修改编码方式以及项目编码的方式

用eclipse写项目,尤其是web项目,总是出现编码错误。这里强烈建议把eclipse默认编码改成UTF-8.修改整个eclipse的workspace的方法:单独修改项目编码的方式:...

2020-04-10 22:37:13 419

原创 进程同步早期解决方案——软件方法篇

首先说明同步机制遵循的原则:①空闲让进:无进程处于临界区时,请求进入临界区的进程可立即进入。②忙则等待:有进程处于临界区时,请求进入临界区的进程必须等待。③有限等待:要访问临界资源的进程,须保证在有限时间内可进入临界区。④让权等待:当进程不可进入临界区时,应释放处理机。接着来看进程同步的早期方案:(一)软件解法1——轮询(1)基本思想:设置轮转标志turn,即...

2019-06-01 10:38:27 1485

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除