09 2021 档案

面试三十三、fail-fast和fail-safe
摘要:1、fail-fast java.util包下的集合类都是fail-fast机制 内部有一个modCount记录修改次数,使用迭代器每一次遍历时都会去校验modCount值 是否有变换,如果变了说明有其它线程对集合做了操作,抛出fail-fast异常。 如:ArrayList,HashMap 2、f 阅读全文

posted @ 2021-09-14 14:38 Iversonstear 阅读(42) 评论(0) 推荐(0) 编辑

面试三十二、Integer i = 1;
摘要:1、Integer i = 1; 没有创建对象,引用了是从Integer.cache数组 2、Integer i = 128; 创建了一个对象,Integer.cache数组存的最大值为-128~127 3、Integer i = new Integer(1); 创建了一个对象 4、Integer 阅读全文

posted @ 2021-09-08 22:41 Iversonstear 阅读(199) 评论(0) 推荐(0) 编辑

面试三十一、String a = new String("hello")
摘要:String a = "hello"; 创建了一个对象, jvm在常量池里创建一个hello的对象,a指向常量池 String b = new String("hello"); 创建了两个对象 等价于 String c = "hello"; String b = new String(c); jvm 阅读全文

posted @ 2021-09-08 21:34 Iversonstear 阅读(153) 评论(0) 推荐(0) 编辑

spiring系列-看源码AbstractApplicationContext.refresh()->finishBeanFactoryInitialization()
摘要:前言: Spring Bean生命周期: 实例化-new一个对象 注入属性-为实例化中new出来的对象填充属性 初始化-执行aware接口的方法,执行@PostContructor注解的方法,初始化方法,完成AOP代理 销毁 1、finishBeanFactoryInitialization() 源 阅读全文

posted @ 2021-09-07 18:21 Iversonstear 阅读(67) 评论(0) 推荐(0) 编辑

面试三十、类加载、双亲委派机制模型
摘要:1、类加载 1)将.class文件加载入内存,并对数据进行校验、准备、解析、初始化, 最终形成JVM可使用的JAVA类型的过程。 2)加载: 将.class文件加载入内存,并将这些数据转换成方法区中的运行 数据(静态变量、静态代码块、常量池),在堆中用反射机制生成 一个Class类对象代表这个类,作 阅读全文

posted @ 2021-09-06 20:16 Iversonstear 阅读(47) 评论(0) 推荐(0) 编辑

面试二十九、缓存雪崩、击穿、穿透、一致性
摘要:1、缓存雪崩:大量key同时超时失效,导致大量请求进入数据库 解决方案: 1)可以对失效时间设置随机值 2)熔断机制,当真的出现雪崩时请求达到一定的量就返回系统繁忙 2、缓存击穿:热点key失效,导致大量请求进入数据库 解决方案: 1)分析业务是否可将超时时间设为永久 2)缓存失效时,通过互斥锁防止 阅读全文

posted @ 2021-09-05 21:31 Iversonstear 阅读(45) 评论(0) 推荐(0) 编辑

面试二十四、分布式一致性算法
摘要:1、raft 少数服从多数,选票先到先得、票数多为leader 过程: 1)a,b,c参与选举,各自发出自己选举请求 2)a先收b的选举请求投票给b,再收到c的选举投票因为只能投一票,于是不投c 3)这时c也先收到b的选举请求投票给b,再收到a的选举投票因为只能投一票,于是不投a 4)其它节点同样逻 阅读全文

posted @ 2021-09-04 21:16 Iversonstear 阅读(94) 评论(0) 推荐(0) 编辑

面试二十七、注册中心
摘要:1、zookeeper 基于cp设计,不保证服务可用性 1)当一个leader节点宕机就会进行重新选举,选举时间需要长几十秒钟,期间服务不可用 2)当大于1/2节点宕机,服务不可用 2、nacos 阿里开源,没有实际使用过。 目前在使用nacos的配置中心功能。 阅读全文

posted @ 2021-09-04 20:35 Iversonstear 阅读(49) 评论(0) 推荐(0) 编辑

面试二十八、spring循环依赖
摘要:参考链接:https://www.cnblogs.com/daimzh/p/13256413.html 1、spring bean 生命周期 实例化、注入属性、初始化、销毁 2、循环依赖例子 2.1、三级缓存 1)一级缓存,存放已经创建好的单例Bean 2)二级缓存,存放实例化,但未注入属性和初始化 阅读全文

posted @ 2021-09-04 01:07 Iversonstear 阅读(55) 评论(0) 推荐(0) 编辑

面试题参考链接
摘要:https://cloud.tencent.com/developer/article/1612348 阅读全文

posted @ 2021-09-02 23:07 Iversonstear 阅读(19) 评论(0) 推荐(0) 编辑

面试二十六、分布式理论
摘要:1、CAP C(Consistecy):一致性,所有节点在同一时刻返回的数据一致 A(Avaliablity):可用性,每个请求不管成功失败都有响应 P(Partion tolerance):分区容忍,系统中任意的数据丢失不会影响整个系统继续运行 2、P可以理解为整个服务中,某台机器宕机了并不影响整 阅读全文

posted @ 2021-09-02 18:06 Iversonstear 阅读(48) 评论(0) 推荐(0) 编辑

面试二十五、mysql之undo log和redo log
摘要:1、undo log 1)实现了事务的原子性 2)保存了事务前一个版本的数据 3)可用于回滚 4)可以恢复到对应版本的数据 5)mvcc用它实现 2、redo log 1)实现了事务的持久性 2)保存了事务的行为(记录事务对数据页做了哪些修改) 3)可以恢复的最新版本的数据 3、mysql创建log 阅读全文

posted @ 2021-09-02 14:55 Iversonstear 阅读(285) 评论(0) 推荐(0) 编辑

面试二十四、mysql之mvcc
摘要:1、mvcc:(multi-version concurrency control)多版本并发控制 主要为了提高数据库并发性能 2、同一行数据在读写请求时会上锁阻塞住,mvcc实现了不需要加锁 解决读写冲突的请求。 注:这个读指的是快照读而不是当前读,当前读是一种加锁操作(悲观锁) 3、当前读:读取 阅读全文

posted @ 2021-09-02 10:47 Iversonstear 阅读(515) 评论(0) 推荐(1) 编辑

面试九、springboot
摘要:1、springboot本身并不提供spring框架的核心特性以及扩展功能 只是用于更敏捷、快速的开发基于spring框架的应用程序。 重点: springboot通过@EnableAutoConfiguration开启自动装配,通过SpringFactoriesLoader加载 META-INF/ 阅读全文

posted @ 2021-09-01 16:42 Iversonstear 阅读(47) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示