自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring的IOC

当Spring启动时,IOC容器会加载Spring的配置文件,包括XML配置或者注解,然后解析这些Bean并把相关定义信息封装成BeanDefinition对象,通过Bean注册器BeanDefinitionRegistry注册到IOC容器,也就是一个ConcurrentHashMap中。此时会找出所有的单例且非惰性加载的bean,根据其BeanDefinition进行Bean的实例化,它会判断如果bean中有方法覆盖,就使用JDK反射创建Bean,否则使用CGLIB方式生成代理。

2024-03-26 17:55:14 290

原创 Mysql主从复制

mysql主从复制

2024-03-08 19:31:49 536 1

转载 使用docker实现mysql 8.0主从复制

使用docker实现mysql 8.0主从复制转载以下。

2024-03-02 10:18:00 48

原创 使用docker实现mysql 8.0主从复制

mysql_native_password是因为在MySQL8.0之前,身份验证的插件是mysql_native_password,在MySQL 8.0中,caching_sha2_password 是默认的身份验证插件,安全性更高,如果不加的话有可能会报错,详情请参考该博客。如果都是Yes的话,那么恭喜你,可以测试主从复制的效果了,如果有一个不是Yes,一半是重启从容器后,事务回滚引起的,那么给出解决方法如下。修改slave里面的my.cnf,在 [mysqld] 节点最后加上后保存。

2024-03-02 10:17:08 1465

原创 Synchronized锁升级原理

轻量级锁:它是偏向锁升级来的,出现了锁竞争,就会升级成轻量级锁,抢到锁的线程进行正常操作,没有抢到的就会进行自旋,尝试获取锁。偏向锁:多数情况下不会出现锁竞争,由一个线程获取锁,然后把这个线程的id放到MarkWord中,第二次还是这个线程进来就不需要进行开锁和加锁,看起来就偏袒了它。每个对象都有对象头,对象头由MarkWord,指向类的指针,数组的长度组成,它的锁优化依赖于MarkWord中的锁标志位。重量级锁:当线程竞争比较激烈的时候,线程自旋次数到达10次(默认),就会升级成重量级锁。

2024-02-29 16:54:40 356

原创 Synchronized 原理

它是基于jvm的内置锁,jvm的内置锁又是基于内部对象监视器锁(),监视器锁基于操作系统的互斥锁()实现,它是一个重量级锁性能较低(

2024-02-29 16:35:53 82

原创 Synchronized的用法有哪些

修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;修饰一个非静态方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象;修饰一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象;

2024-02-28 20:09:56 100 1

原创 Java中有哪些锁

他们的区别在于:悲观锁是在业务一开始就加锁,业务处理完成之后,释放锁,拿Mysql来说单执行加了 for update 的查询语句时就加锁,业务处理完成,事务提交就释放锁。自旋锁(不阻塞):当一个线程尝试去获取某一把锁的时候,如果这个锁此时已经被别人获取(占用),那么此线程就无法获取到这把锁,该线程将会自旋,间隔一段时间后会再次尝试获取。阻塞锁:阻塞锁如其名,就是当拿不到这个数据的锁,当前线程就会阻塞,直到被唤醒,相当于暂停这个线程的工作,让这个线程不会占用CPU时间,但缺点是线程恢复速度要比。

2024-02-28 20:07:25 1753 1

空空如也

空空如也

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

TA关注的人

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