自定义博客皮肤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设计了三级缓存去解决循环依赖问题,第一级存储初始化的bean,第二级存储实例化的bean,第三级存储BeanFactory生成的原始bean对象,并放到二级缓存里面,第三级缓存主要解决代理对象的循环依赖问题。--在springcloud出现之前,为了解决微服务架构里面的各种技术问题,需要去集成各种开源框架,因为标准和兼容性问题,所以在时间的时候很麻烦,而springcloud统一了这样一个标准。,SpringCloud Alibaba等微服务框架并组合构建分布式微服务系统;

2023-05-21 17:31:21 53 1

原创 RocketMQ、RabbitMQ、Kafka区别

NameServer和broker机群架构不同,没有主从节点之分,任何Broker,producer和consumer都要去所有NameServer注册自己的地址,注册信息的一致性则由心跳保证,一旦某个服务一段时间没有对某个NameServer发起心跳,该NameServer则对齐剔除,所以仅能满足最终一致性,但一般内网使用问题不大。Kafka0.9,RocketMQ4.2以后,已经和RabbitMQ对齐,都有topic级别的控制权限。RocketMQ是java编写。Kafka采用scala。

2023-05-21 16:09:07 434 1

原创 基础知识整理

ReadWriteLock是一个读写锁接口,读写锁时用来提升并发程序性能的锁分离技术,ReentrantReadWriteLock是ReadWriteLock接口的具体实现,实现了读写的分离,读锁是共享的,写锁是独占的,读和读之间不会互斥,读和写、写和读、写和写之间才会互斥,提升了读写的性能;--ABA问题:线程1从内存中取出A,但是它阻塞了,线程2也取出了A,做了一些操作变成了B,然后又将B变成了A(或其他线程抢占成功,将B变成了A),这时候线程1进行CAS操作发现内存中仍然是A,然后操作成功;

2023-05-21 16:07:13 48 1

原创 spring视频笔记

事务操作是AOP的一个核心提现,当一个方法添加@Transactional注解之后,spring会基于这个类生成一个代理对象,会将这个代理对象作为bean,当使用这个代理对象的方法的时候,如果有事务处理,那么会先把事务的自动提交给关闭掉,然后去执行具体的业务逻辑,如果执行逻辑没有出现异常,那么代理逻辑就会直接提交,如果出现任何异常情况,那么直接进行回滚操作,当然用户可以控制对哪些异常进行回滚操作。SUPPORTS:当前存在事务,则加入当前事务,当前没有事务,则以非事务的方式运行。

2023-05-16 10:21:44 43 1

原创 spring源码题目解析笔记

IOC控制反转,是一种思想,具体的实现是依赖注入,是spring管理对象的容器,对象的定义信息xml、注解、properties等通过BeanDefinitionReader解析,存放到BeanDefinition对象中,通过反射的方式,创建Bean对象,在使用的时候通过context.getBean()来获取,对象的整个生命周期由spring来管理。5、BeanFactory,对象工厂,约等于容器,是从容器中获取对象的出口,也是根接口,ApplicationContext继承BeanFactory。

2023-05-13 11:41:44 67 1

原创 基础知识面试题(三)

双重锁模式:线程安全,延迟初始化,这种方式采用双锁机制,安全且在多线程情况下能保持高性能。* volatile关键字作用:保证可见性,有序性,原子性。饿汉模式:线程安全,比较常用,但容易产生垃圾,因为一开始就初始化。懒汉模式:线程不安全,延迟初始化,严格意义上不是单例模式。

2023-05-13 08:03:24 35 1

原创 基础知识面试题(二)

但是分段锁的实现方式也存在一些问题:首先,由于每个小的数据结构都需要加锁,因此锁的竞争会增加,其次,由于每个小的数据结构的大小是固定的,因此在高并发的情况下,容易出现热点数据的问题,即某个小的数据结构被频繁的访问,从而导致该小的数据结构的锁竞争非常激烈,这会导致整个ConcurrentHashMap的性能下降,另外,分段锁的实现也存在一些复杂性,例如需要考虑锁的重入,死锁等问题。具体来说,CAS操作会先比较当前节点的值和期望值是否相等,如果相等,则将当前节点的值修改为新值,否则不进行任何操作。

2023-05-12 11:11:07 42 1

原创 基础知识面试题(一)

StringBuffer:StringBuffer是可变类,和线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象,每个StringBuffer对象都有一定的缓冲区容量,当字符串大小没有超过容量时,不会分配新的容量,当字符串大小超过容量时,会自动增加容量。继承自Dictionaryl类,线程安全的,不允许记录的键或值为空,支持线程的同步,即任一时刻只有一个线程能写HashTable,因此也导致了HashTable在写入时会比较慢。一般在遍历的时候会比HashMap慢。

2023-05-09 17:10:54 62 1

空空如也

空空如也

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

TA关注的人

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