摘要:1、fail-fast java.util包下的集合类都是fail-fast机制 内部有一个modCount记录修改次数,使用迭代器每一次遍历时都会去校验modCount值 是否有变换,如果变了说明有其它线程对集合做了操作,抛出fail-fast异常。 如:ArrayList,HashMap 2、f
阅读全文
摘要:1、Integer i = 1; 没有创建对象,引用了是从Integer.cache数组 2、Integer i = 128; 创建了一个对象,Integer.cache数组存的最大值为-128~127 3、Integer i = new Integer(1); 创建了一个对象 4、Integer
阅读全文
摘要:String a = "hello"; 创建了一个对象, jvm在常量池里创建一个hello的对象,a指向常量池 String b = new String("hello"); 创建了两个对象 等价于 String c = "hello"; String b = new String(c); jvm
阅读全文
摘要:前言: Spring Bean生命周期: 实例化-new一个对象 注入属性-为实例化中new出来的对象填充属性 初始化-执行aware接口的方法,执行@PostContructor注解的方法,初始化方法,完成AOP代理 销毁 1、finishBeanFactoryInitialization() 源
阅读全文
摘要:1、类加载 1)将.class文件加载入内存,并对数据进行校验、准备、解析、初始化, 最终形成JVM可使用的JAVA类型的过程。 2)加载: 将.class文件加载入内存,并将这些数据转换成方法区中的运行 数据(静态变量、静态代码块、常量池),在堆中用反射机制生成 一个Class类对象代表这个类,作
阅读全文
摘要:1、缓存雪崩:大量key同时超时失效,导致大量请求进入数据库 解决方案: 1)可以对失效时间设置随机值 2)熔断机制,当真的出现雪崩时请求达到一定的量就返回系统繁忙 2、缓存击穿:热点key失效,导致大量请求进入数据库 解决方案: 1)分析业务是否可将超时时间设为永久 2)缓存失效时,通过互斥锁防止
阅读全文
摘要:1、raft 少数服从多数,选票先到先得、票数多为leader 过程: 1)a,b,c参与选举,各自发出自己选举请求 2)a先收b的选举请求投票给b,再收到c的选举投票因为只能投一票,于是不投c 3)这时c也先收到b的选举请求投票给b,再收到a的选举投票因为只能投一票,于是不投a 4)其它节点同样逻
阅读全文
摘要:1、zookeeper 基于cp设计,不保证服务可用性 1)当一个leader节点宕机就会进行重新选举,选举时间需要长几十秒钟,期间服务不可用 2)当大于1/2节点宕机,服务不可用 2、nacos 阿里开源,没有实际使用过。 目前在使用nacos的配置中心功能。
阅读全文
摘要:参考链接:https://www.cnblogs.com/daimzh/p/13256413.html 1、spring bean 生命周期 实例化、注入属性、初始化、销毁 2、循环依赖例子 2.1、三级缓存 1)一级缓存,存放已经创建好的单例Bean 2)二级缓存,存放实例化,但未注入属性和初始化
阅读全文
摘要:https://cloud.tencent.com/developer/article/1612348
阅读全文
摘要:1、CAP C(Consistecy):一致性,所有节点在同一时刻返回的数据一致 A(Avaliablity):可用性,每个请求不管成功失败都有响应 P(Partion tolerance):分区容忍,系统中任意的数据丢失不会影响整个系统继续运行 2、P可以理解为整个服务中,某台机器宕机了并不影响整
阅读全文
摘要:1、undo log 1)实现了事务的原子性 2)保存了事务前一个版本的数据 3)可用于回滚 4)可以恢复到对应版本的数据 5)mvcc用它实现 2、redo log 1)实现了事务的持久性 2)保存了事务的行为(记录事务对数据页做了哪些修改) 3)可以恢复的最新版本的数据 3、mysql创建log
阅读全文
摘要:1、mvcc:(multi-version concurrency control)多版本并发控制 主要为了提高数据库并发性能 2、同一行数据在读写请求时会上锁阻塞住,mvcc实现了不需要加锁 解决读写冲突的请求。 注:这个读指的是快照读而不是当前读,当前读是一种加锁操作(悲观锁) 3、当前读:读取
阅读全文
摘要:1、springboot本身并不提供spring框架的核心特性以及扩展功能 只是用于更敏捷、快速的开发基于spring框架的应用程序。 重点: springboot通过@EnableAutoConfiguration开启自动装配,通过SpringFactoriesLoader加载 META-INF/
阅读全文