- 博客(14)
- 收藏
- 关注
原创 sentinel执行流程
一,规则的创建FlowRuleManager.loadRules(rules) 流控DegradeRuleManager.loadRules(rules);降级AuthorityRuleManager.loadRules(rules);校验二,核心业务的入口 entry = SphU.entry(KEY);key 为资源名称三,加载spi扩展接口,进行环境初始化逻辑List<InitFunc> initFuncs = SpiLoader.of(InitFunc.class)./
2021-06-24 16:49:29
294
原创 synchronzied+AQS
synchronized锁状态:根据对象头中的markword来进行标记,状态:无锁,偏向锁,轻量级,重量级同步原理:同步方法->使用方法常量池中的标志位ACC_SYNCHRONIZED同步代码块->使用monitor_enter moniter_exit两个指令来完成,(编译器会保证即使在执行异常的情况下这两个指令也会成堆出现,从而避免了锁无法释放的场景)jvm 源码void ATTR ObjectMonitor::enter(TRAPS) { // The follow
2021-05-26 18:00:19
138
原创 jvm的调优尝试
对象的内存布局对象的内存布局Markword:内存布局ClassPointer:jdk 1.8默认开启了指针压缩功能,对于实例对象中指向方法区中的ClassPointer占用大小为4字节。可以使用如下库进行内存布局查看 <dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core</artifactId>
2021-05-25 19:41:36
66
原创 mysql
MOUTH(date):取出date中的月份YEAR(date):DAY(date);MOD()模板函数,MONTH(birth) = MONTH(DATE_ADD(CURDATE(),INTERVAL 1 MONTH));//生日日期在下个月的查询条件
2021-05-19 17:50:44
63
原创 Java内存模型
缓存一致性协议MESI四种状态M:修改E:独占S:共享I:无效假如现在有CPU1和CPU2,主内存有变量X= 1 。现在要做 x+1的操作。 如果在变量 x = 1上加上volatile,则就会触发MESI 当CPU1从主内存中读取到X=1时,CPU1会把此变量标记成独享状态并监听总线,是否有其它CPU去读取此变量 当CPU2从主内存中读取X=1变量时,CPU1会通过嗅探机制监听到。此时CPU1的X变量会变成共享状态。继续进行计算,计算完变成X=2。此时要回写到主内存之前。先锁住缓..
2021-05-19 15:38:12
34
原创 计算机体系结构+Java内存模型
冯诺依曼计算机结构与原理#冯诺依曼计算机结构原理1,程序即是指令序列,指令能够被计算机运行2,指令以二进制编码形式表示,存放在存储器中3,存储器中的指令和数据按照地址进行存取4,指令由cpu进行读取执行指令:指令通常由操作码+操作数地址两部分构成操作码:加,减,乘,除,取数,存数,锁等构成操作数地址:代表了所要操做的数据所在的位置指令执行过程1,取指令:CPU控制器从存储器中读取一条指令并放入指令寄存器,2,指令译码:指令寄存器中的指令经过译码,解析出该指令的操作码和操作数地址
2021-05-19 11:55:31
57
原创 nginx 高可用搭建
centos7 +nginx +keepalived记录keepalived 踩坑记录1,yum方式安装的keepalived 配置文件路径 /etc/keepalived/keepalived.configkeepalived默认的日志路径:/var/log/messages观察日志的追加内容:tail -f logPath! Configuration File for keepalivedglobal_defs { notification_email {#这些配置作用于当kee
2021-05-18 15:22:45
41
原创 Centos6.5安装mysql
https://blog.csdn.net/qq_42339484/article/details/81914221链接: link.
2021-05-10 19:41:25
50
原创 2021-04-22
springclould seata nacos feign集成版本:<springboot.version>2.3.6.RELEASE</springboot.version><springclould.version>Hoxton.SR9</springclould.version><springcloud.alibaba.version>2.2.3.RELEASE</springcloud.alibaba.version>
2021-04-22 15:31:07
83
原创 alibaba_sentinel_study
sentinel 集成到springcloud所需依赖 <dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-core</artifactId> <version>1.7.0</version></dependency>sentinel源码解读sentinel使用责任链模式,使用了诸如 NodeSelec
2020-10-28 21:00:37
142
原创 Docker入门
Docker环境linux centos7Docker就是一个资源之间隔离的容器。术名:Docker主机:安装了Docker的机器Docker镜像:打包好的文件Docker容器:软件运行起来就是一个容器Docker仓库:放置Docker镜像的仓库Docker客户端:用来操作Docker的软件centos7 下安装docker过程1,Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker2,通过 uname
2020-09-16 21:22:43
103
原创 springboot学习
1. springboot配置文件的加载位置配置文件application.properties加载位置1, file:/config2,file:/3,classpath:/config4,classpath:/5,classpath:/resourcevc2. 向容器中添加组件并赋值2.1@Component添加组件@ConfigurationProperties(prefix = " 自定义前缀")通过该前缀我们就可以在默认的springboot配置文件中,对自己的be
2020-09-15 21:48:40
61
原创 springboot学习
SpringBoot入门视频学习地址:url:https://www.bilibili.com/video/BV1Et411Y7tQ?p=1链接: link1,pom文件//该文件作为版本仲裁中心,对于我们未来使用的各种场景下的各个jar包的版本进行了约束,当我们在没有显示的声明我们的版本号的时候,就会使用springBoot为我们默认的版本号 <parent> <groupId>org.springframework.boot</groupId>
2020-09-13 18:26:34
104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人