自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 CAS的小问题

//CAS问题private AtomicInteger value=new AtomicInteger(0);public final int getAndIncrement(){int current;int next;do {current=this.value.get();next=current>=Integer.MAX_VALUE?0:current+1;}while (!this.value.compareAndSet(current,next));//期望值,修改

2021-05-16 20:45:18 74

原创 JVM

JVM基本样子执行流程双亲委派机制类加载器收到加载请求不会自己去执行而是从下面往上面把请求委派给父类,直到BOOT启动类加载器,如果启动类加载器加载不了,就会往下尝试执行加载。APP–>EXC–>BOOT 都是加载器向上查找,向下执行启动类加载器(Bootstrap ClassLoader):前面已经大致介绍过了,这个类加载器负责将存放在 <JRE_HOME>\lib 目录中的,或者被 -Xbootclasspath 参数所指定的路径中的,并且是虚拟机识别的(仅按

2021-04-14 16:43:23 60

原创 多线程volitile和synchronized lock

synchornized 和lock的区别1.synchronized是java自带的关键字,lock是接口2.synchronized自动上锁解锁,lock是手动上锁解锁。3.synchronized发生异常就会解锁不会死锁,lock忘记解锁就会死锁4.lock的可以知道是否获得了锁,提高了多线程读的效率5.Lock可以让等待锁的线程中断不会一直等待下去。而synchronized会一直等待如果锁具备可重入性,则称作为可重入锁。像synchronized和ReentrantLoc...

2021-04-10 19:43:22 208

原创 Mysql小记innodb和myisam

newCacheThreadPool没有核心线程都是非核心线程且非核心线程非常多所以在队列里的任务执行的非常快newFixedThreadPool只有核心线程所以执行比较慢newsingethreadExector 只有一个核心线程所以非常慢newCache不会oom cpu会爆满 因为非核心线程(worker)多能执行其他两个会oom内存溢出 因为队列可能爆满 处理不了那么多这里有一个 提交优先级和执行优先级提交优先级是1.核心 2.队列3.非核心执行优先级是1.核心 2.非核心3.队列

2021-04-09 16:24:51 82

原创 MQ与SpringBoot

package com.rabbitmqspringboot.demo;import com.DemoApplication;import org.junit.jupiter.api.Test;import org.junit.runner.RunWith;import org.springframework.amqp.rabbit.core.RabbitTemplate;import org.springframework.beans.factory.annotation.Autowired;

2021-04-01 15:20:01 90

原创 RabbitMQ

1.最简单的HelloWorld直连(点对点 登录加积分功能等等)provider-(通道channel)>消息中间件-(channel)>customer首先就factory工厂 然后工厂里拿连接connection 然后connection里拿通道并且设置属性//1.先与服务器连接 创建连接工厂(提供者)ConnectionFactory connectionFactory = new ConnectionFactory();//设置rabbitmq的主机connectio.

2021-04-01 12:49:22 84

原创 redis缓存穿透和雪崩

redis缓存穿透和雪崩客户端读的请求先去缓存中查,没有就去数据库查 如果是个高并发,或者秒杀缓存中没有多个几千几万个查询就去数据库了,容易让数据库宕机,崩了,数据库压力巨大缓存穿透是指缓存中没有的大面积去数据库中查的事件布隆过滤器是一种数据结构对所有的可能查询参数以hash存储,在控制层校验,不符合就丢弃,避免了对底层存储系统的压力两个问题1.更多的空间去存储更多的键,当中可能有很多的空值键2.空值过期时间,缓存层和存储层的数据会有一段时间的不一样,这对需要保持一致性的业务有影响。缓存击穿

2021-03-30 12:20:45 46

原创 redis集群主从复制

redis小记redis的集群如果是单台服务器上需要修改复制多个redis.conf文件,vim进入修改模式,修改端口号,log文件的名称,dump.rdb文件,pid名字,修改后打开不同的端口启动集群 ps -rf|grep redis 查看进程主从复制,默认每开一台都是master主机,查看的话看info replication里面有详细的配置,配置从机的话,是到从机端口进行slaveof host port 进行从机配置,真实的是从配置文件开始修改,这样是永久的。主机写,从机可以读但是不能写,

2021-03-30 12:19:49 79

原创 redis哨兵机制

redis哨兵(sentinal)模式(自动选master)主机断开后的自动谋朝篡位,不需要手动配置了此时哨兵sentinal就出现了,后台监测主机是否出问题了,如果主机故障,则根据投票自动从从库转换为主库哨兵监测主与从,一个哨兵称为单机哨兵一般多个哨兵互相监控,同时监控主从主观下线:就是一个哨兵任务主不能用了客观下线:其他哨兵也监测不可用了,哨兵间就会发布投票,结果由一个哨兵发起,进行failover故障转移操作。切换成功后,通过发布订阅模式,让各个吧自己监控的服务器切换为主机。配置哨兵sen

2021-03-30 12:18:55 111

原创 Spring小记

关于Spring1.Spring是一种轻量级(依赖小,需要就打入就行)开发框架,是很多模块的集合。分别核心容器,数据访问/集成,Web,AOP,工具,消息,和测试。spring官网的6大特征:1.核心技术:依赖注入DI,AOP(面向切面编程)事件,资源,数据绑定等等。2.测试:模拟对象,SpringMVC测试3.数据访问:JDBC,DAO,ORM4.web支持:SpringMVC,spring WebFlux Web框架5.集成:远程处理,jms,电子邮件,调度,缓存等等6.语言:Kotlin

2021-03-30 11:24:53 69

空空如也

空空如也

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

TA关注的人

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