自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 Mycat搭建分库分表

BROADCAST代表广播表,意味着所有的数据源都会创建这张表。_0 并且存放的是id偶数的数据。_1 并且存放的id是基数的数据。,自动创建cluster。,自动创建cluster。在mycat进行查询。

2024-09-18 23:17:02 2258

原创 Mysql 搭建主从复制

mysql-master:/etc/my.cnf.d/mysql-server.cnf ./mysql-server.cnf 将容器中的文件copy到本地路径。./mysql-server.cnf mysql-master:/etc/my.cnf.d/mysql-server.cnf 再将文件copy回容器。`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键' ,SHOW REPLICA STATUS\G 查看从服务器状态。

2024-09-12 22:47:36 2282

原创 Mysql Innodb存储引擎原理—链接如下

ProcessOn是一个在线协作绘图平台,为用户提供强大、易用的作图工具!支持在线创作流程图、思维导图、组织结构图、网络拓扑图、BPMN、UML图、UI界面原型设计、iOS界面原型设计等。同时依托于互联网实现了人与人之间的实时协作和共享。Mysql Innodb存储引擎| ProcessOn免费在线作图,在线流程图,在线思维导图。

2024-09-09 22:55:03 797

原创 Spring 如何处理循环依赖的问题?

Spring是不知道当前bean有没有循环依赖的,它会义无反顾的往。如果singletonfactories没有找到bean的工厂就。singletonfactories中找到提前暴露的工厂的到了A。singletonfactories中存放当前bean的工厂。如果没有,则判断Bean是否在创建中,如果不在创建中,此时又回到了A注入B的地方,完成了对B的注入,singletonfactories中删除。arlySingletonObjects中。此时就到了B这个bean属性注入的步骤了。

2024-09-08 00:12:24 1271

原创 【Kafka 和 RocketMQ 的区别】

2024-07-16 14:33:34 975

原创 【Mybatis 源码解析】

2024-07-13 00:46:54 2767

原创 Redis 分布式锁

RedLock算法对应的场景 主节点挂掉后,lockkey还未同步到从节点,导致从节点上没有lockkey(发生概率很小,面试官喜欢在AP模型里解决CP模型的问题)解锁方式:通过lua脚本实现原子操作,先进行uniqueId对比操作,如果相同,则执行del解锁操作。不可靠,如果redis主服务器宕机,会影响到锁的使用(即少数服从多数会受影响。续期:当分布式锁到达了超时时间,但是业务并没有完成,则将对锁进行续期。如果没有uniqueId S1在第7s的时候解锁,或解了S2的锁。

2024-10-20 23:12:53 714

原创 阻塞队列的原理?(如何设计一个阻塞队列?)

因为LinkedBlockingQueue有放,取两把锁,因此它的吞吐量要比ArrayBlockingQueue高。

2024-10-18 20:46:09 257

原创 Redis主从复制实现原理

如何知道从节点是第一次连接?

2024-10-18 20:45:14 1109

原创 如何使用mysql的explain语句进行查询分析?

2024-10-17 13:38:58 150

原创 char 和 varchar 的区别 ?

2024-10-17 13:36:14 440

原创 kafka分区和副本的关系?

一个partition分区只能被一个消费组中的一个消费者消费。+Topic 确定一个当前消费到哪个offset。副本会尽可能放到不同的节点上。每个分区的leader。

2024-09-26 23:39:33 852

原创 Java内存模型?

java内存模型 原子性 AtomicInteger , Synchronized ,Lcok ,CAS 可见性 Volatile 有序性 通过加锁解锁来保证指令的有序性 通过指令重排,在不影响最终结果的前提下,会提高效率 Happen-brefore规则 一个线程内语义的串行 volatile,先发生于读,才能保证volatile的可见性 先加锁,后解锁的顺序不能变 线程start()方法要先于每一个动作的 线程所有的操作先于线程的终结thr

2024-09-25 23:41:56 189

原创 Java并发工具类

主线程创建CyclicBarrier并定义计数(比如2),子线程1执行一次cyclicBarrier.await() 进入阻塞等待,子线程2执行一次cyclicBarrier.await() 达到2次,则该两个子线程可继续执行下面逻辑,并且可分别继续执行cyclicBarrier.await(),达到两次后,又可分别解除阻塞。,每组三个,这三组线程内部先后执行肯定是无序的,但是组与组之间,其实也是无序的,不一定先创建的线程,会优先获得准入许可。,并且默认获得的是非公平锁。Semaphore信号量。

2024-09-25 23:40:51 374

原创 Thread , ThreadLocal , ThreadLocalMap , Entry 之间的关系?

Thread A1 ——> ThreadLocalMap(其实是Entry数组)Thread A2 ——> ThreadLocalMap(其实是Entry数组)Thread A3 ——> ThreadLocalMap(其实是Entry数组)Thread A4 ——> ThreadLocalMap(其实是Entry数组)Thread A ——> ThreadLocalMap(其实是Entry数组),而是一个Entry数组,里面存放了一个一个的Entry。而Entry中存放的就是key和value。

2024-09-24 23:30:43 1113

原创 线程池任务执行出现异常,如何知道是哪个线程出了异常?

/可能出现异常的地方。// 可以记录日志、发送警报等。// 捕获并处理异常。

2024-09-24 16:45:00 614

原创 线程池工作原理?

allowCoreThreadTimeOut设为true,默认情况下,线程池不会预先创建线程,但可以配置。也可以继续销毁空闲的核心线程。

2024-09-24 14:40:02 524 1

原创 双亲委派机制&SPI

这里forName进行加载类,forName方法的getClassLoader是获取caller对应的ClassLoader,caller就是指当前调用的forName方法的那个类,即ReflectionTest这个类,因为这个类是自己写的,所以在CLASSPATH路径下,获取到的加载器应该是应用类加载器(App ClassLoader),解析去会尝试用应用类加载器加载Persion类。尽管SPI本身是由启动类加载器加载,但是它间接的通过应用类加载器加载第三方驱动类,绕过了严格的双亲委派机制。

2024-09-23 14:57:54 1416

原创 Thread和Runnable的关系?

Thread的。

2024-09-23 10:13:44 246

原创 Zookeeper安装使用教程

端口默认8080,可能需要更改一下。

2024-09-20 23:08:40 357 1

原创 synchronized和ReentrantLock区别?

不同点 synchronized synchronized是Java内置的关键字,由JVM控制的 用在方法上或代码块上 是非公平锁 不需要手动解锁 不支持超时 不可以中断 不支持多条件Condition 以前性能不如ReentrantLock,现在性能差不多 ReentrantLock JUC类库提供 使用起来比synchronized更灵活 支持公平锁和非公平锁 需要手动解锁 可以设置超时时间,避免死锁 可以中断

2024-09-20 22:12:42 248

原创 ReentrantLock实现原理

如果当前线程不需要排队,那么就可以尝试CAS修改state的状态,如果CAS修改成功,就说明抢锁成功,就把。如果当前线程已经排在队列头部,就尝试获得锁。获得成功程序到这就结束啦~setExclusiveOwnerThread设置成当前线程。=0,那么说明当前没有线程占着锁。,也就是阻塞线程,直到获得锁。,情况一:如果state。程序到这里就结束啦~

2024-09-20 11:15:35 394

原创 synchronized是怎么实现的?

因为jvm内部代码也用到了很多synchronized,如果启动直接开启偏向锁。,如果产生竞争,就会导致锁的升级到轻量级锁,锁的升级会带来额外的性能的消耗。4s才能获得匿名偏向锁(markword中未指定线程id)偏向锁解锁完成后,对象头中的线程id不会清。,如果当前线程在进行加锁就不用赋值线程id。注意这里不会回到偏向锁(一次性的)轻量级锁解锁后就会变成无锁对象(无锁对象再加锁,就会变成轻量级锁。,另外一个线程对同一个资源。4s以内只能获得无锁。,就会升级成轻量级锁。

2024-09-19 22:10:07 364

原创 HashMap高频面试知识点

但是多线程环境下可能导致环路从而引发死循环。,所以新数组高位按位与操作不受影响(注意:与操作有。(Segment继承ReentrantLock。只有在更新链表和红黑树的节点时才会用到sy。,就不会扩容,导致对并发度控制过于死板(不同的key可能会产生相同的hash值。然后再次通过key的hash得到Seg。ment里HashEntry的数组下标。),那就说明在原位置,不需要迁移。,从而导致hash冲突,jdk。gment数组一旦初始化了之后。,接下去的步骤同Hash。1.8之后采用尾插法。

2024-09-19 16:12:32 1228

原创 Mycat搭建读写分离

transcationType: xa表示跨库的事务 proxy表示本地事务(效率高)连接mycat 默认端口8066 用户名root 密码123456。注意:这里ip设为null表示任何ip都可以访问。插入数据查看主从节点是否都有数据。动态的设定这个值,它是立马生效的,无需重启。,需要从主节点读取数据,我们可以在程序中。"dw0" //主节点。"dr0" //从节点。也可以通过mycat语法去查询。当有事务强一致性要求时。

2024-09-18 23:14:10 855

原创 Mysql连接不上的问题?

Mysql服务器本地能访问,但是外部连接报错如下: 显然我也知道这就是一个权限问题,但是在网上百度的方法要么就是不生效,要么就是执行命令报错,很抓狂~ 这里提供精准的解决方案: SELECT User, Host FROM mysql.user WHERE User = 'root'; 确认一下权限是不是 如果只有localhost,则说明不提供外部IP访问的权限; 那么就要先执行GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; 再进行连接测试,o

2024-09-13 10:58:35 407

原创 Docker启动Mysql镜像报错问题?

docker run--name-e=root-v-p3308:3306。

2024-09-11 21:02:20 771

原创 Mycat2原理介绍

如何保证不同worker之间的事务有序?如何保证队列里的事务时有序的?

2024-09-11 20:52:06 548

原创 什么是Aware注入?

Spring容器可以在Bean初始化的时候,自动注入一些特定信息(如beanfactory),使得bean可以轻松的访问其他Bean的实例,简化代码,避免了显式的注入。Spring提供了很多Aware的接口,如下:拿其中的BeanFactoryAware举例: 定义Bean helloAware。 HelloAware继承BeanFactoryAware,并重写setBeanFactory方法,使得beanFactory容器注入进HelloAware中,这样就可以轻松的获取其他B

2024-09-10 21:30:07 312

原创 BeanPostProcessor,BeanFactoryPostProcessor,InstantiationAwareBeanPostProcessor 三者区别?

BeanPostProcessor 用于Bean初始化前后的一些自定义操作。有的 Bean 定义加载完成后,但在任何 Bean 对象被实例化之前。Factory获得所有bean的定义。它的能力不是针对单个bean。

2024-09-10 15:15:19 394

原创 Node启动问题~

启动报错仓库连接失败? 如果 Taobao NPM 镜像经常出现问题,您可以考虑使用其他镜像站点。例如,您可以使用 CNPM 镜像 npm config set registry https://r.cnpmjs.org/ 执行npm install无法回调问题? 这里我改成sudo npm install就解决了

2024-09-09 22:59:10 263

原创 Idea Mac代码调试常用快捷键~

功能:Option+command+B 查看本类以及子类实现的方法。idea英文大写转小写 command+Shift+U。Mac截图 command+Shift+4。选中方法,control+option+H。功能:Command+B是查看本类的方法。快捷键 fn+command+F12。功能:查看类的实现和继承父类的方法。功能:查看当前方法的上游方法。

2024-09-08 23:57:26 479

原创 JVM 排查CPU占用100% 问题

2024-09-06 23:11:41 171

原创 springcloud stream

2024-09-06 23:07:53 169

原创 解决Idea 配置文件无法提醒的功能

在Facets中勾选如下配置,即可实现提醒功能!

2024-09-05 14:36:42 418

原创 SpringBoot原理介绍

2024-09-05 00:03:47 398

原创 Maven打包问题?

2024-08-20 23:12:09 102

原创 Mysql原理介绍

Mysql知识框架详解链接-访问密码私信。

2024-08-20 21:57:55 414

原创 Nacos原理

2024-08-18 22:13:30 474

原创 Netty网络编程(原理讲解)

2024-08-08 23:58:54 221

mmexport1717464960641.png

mmexport1717464960641.png

2024-06-04

空空如也

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

TA关注的人

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