摘要: Redis介绍 1.Redis 是一个基于内存的高性能 key-value 数据库。是完全开源免费的,用C语言编写的,遵守BSD协议 2.Redis 特点: 1)Redis 是基于内存操作的,吞吐量非常高,可以在 1s内完成十万次读写操作 2)Redis 的读写模块是单线程,每个操作都具原子性 3) 阅读全文
posted @ 2022-10-03 05:00 忧愁的chafry 阅读(2321) 评论(0) 推荐(1) 编辑
摘要: 介绍了分布式锁的特性,模拟想要实现redis分布式锁的演变流程,分析redisson源码是如何实现分布式锁的,面对高并发下,我们该如何提升分布式锁性能 阅读全文
posted @ 2022-09-30 20:21 忧愁的chafry 阅读(1249) 评论(0) 推荐(0) 编辑
摘要: 针对实例化过程中会做什么的分析,其中主要的是怎么推断出构造方法,怎么进行匹配 阅读全文
posted @ 2022-09-29 02:20 忧愁的chafry 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 针对线程池底层原理详解与源码分析部分的补充,由于那边篇幅太长了,我再另开一篇补充一下定时线程池 阅读全文
posted @ 2022-09-28 01:09 忧愁的chafry 阅读(542) 评论(0) 推荐(0) 编辑
摘要: 深入剖析了线程池的生命周期,参数解析,调用方法详解,包括方法流程 阅读全文
posted @ 2022-09-27 05:48 忧愁的chafry 阅读(569) 评论(0) 推荐(2) 编辑
摘要: 先了解动态代理的详解,在分析AOP的演变过程,结合对AOP对工厂类的不同处理,深入剖析AOP的整个过程,附加流程图 阅读全文
posted @ 2022-09-24 19:01 忧愁的chafry 阅读(261) 评论(0) 推荐(0) 编辑
摘要: CAS(Compare And Swap,比较并交换)原本指一种操作,后感觉衍生成为一种思想,作为解决并发冲突的一种手段:如自旋+CAS操作形成的乐观锁,如原子操作类的产生。究其根源:要解决并发冲突,要了解并发三大特性:可见性,有序性,原子性。那么是怎么保证这三种特性的? 阅读全文
posted @ 2022-09-22 22:47 忧愁的chafry 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 1.说明 代理模式的解释:为其他对象提供一种代理以控制对这个对象的访问,增强一个类中的某个方法,对程序进行扩展。 2.类型: CGLib动态代理和JDK动态代理 3.使用介绍 (1)CGLib动态代理的使用 使用示例: 1、针对代理类的示例 //构建代理对象 public class TestObj 阅读全文
posted @ 2022-09-21 06:28 忧愁的chafry 阅读(126) 评论(0) 推荐(0) 编辑
摘要: synchronized的意义 解决了Java共享内存模型带来的线程安全问题: 如:两个线程对初始值为 0 的静态变量一个做自增,一个做自减,各做 5000 次,结果是 0 吗?(针对这个问题进行分析) 代码展示 public class SyncDemo { private static vola 阅读全文
posted @ 2022-09-19 21:47 忧愁的chafry 阅读(932) 评论(0) 推荐(3) 编辑
摘要: 概念说明 逃逸分析,是一种可以有效减少Java 程序中同步负载和内存堆分配压力的跨函数全局数据流分析算法。通过逃逸分析,Java Hotspot编译器能够分析出一个新的对象的引用的使用范围从而决定是否要将这个对象分配到堆上。逃逸分析的基本行为就是分析对象动态作用域。 逃逸类型 方法逃逸(对象逃出当前 阅读全文
posted @ 2022-09-19 18:12 忧愁的chafry 阅读(1040) 评论(0) 推荐(0) 编辑
摘要: 概念说明 Hotspot虚拟机中,对象在内存中存储的布局可以分为三块区域:对象头(Header)、实例数据 (Instance Data)和对齐填充(Padding)。 对象头:比如 hash码,对象所属的年代,对象锁,锁状态标志,偏向锁(线程)ID,偏向时间,数组长度(数组对象才有)等。 实例数据 阅读全文
posted @ 2022-09-18 18:45 忧愁的chafry 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 说明 Monitor,直译为“监视器”,而操作系统领域一般翻译为“管程”。管程是指管理共享变量以及对共享变量操作的过程,让它们支持并发。在Java 1.5之前,Java语言提供的唯一并发语言就是管程,Java 1.5之后提供的SDK并发包也是以管程为基础的。除了Java之外,C/C++、C#等高级语 阅读全文
posted @ 2022-09-18 07:31 忧愁的chafry 阅读(1328) 评论(0) 推荐(0) 编辑
摘要: 死锁的定义 所谓死锁,是指多个进程在运行过程中因争夺资源而造成的一种僵局,每个进程持有某种资源而又都等待着别的进程释放它或它们现在保持着的资源,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进的情况,称这一组进程产生了死锁。 死锁的原因 1.竞争资源 2.进程间推进顺序非法 死锁的条件 阅读全文
posted @ 2022-09-17 17:09 忧愁的chafry 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 计算机与进程和线程之间的关系 1.计算机中有一个重要的指标就是CPU,而CPU中又有一个重要的指标就和核心数。 2.每当我们开启一个软件的时候,如QQ,微信(运行中的程序,被称为进程)。它们的运行必然是占据了CPU,而CPU就是进程运行的重要标准。(每个进程的运行都是占据着一个CPU的资源) 3.而 阅读全文
posted @ 2022-09-17 02:39 忧愁的chafry 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 作用 1.注解@PostConstruct可以添加在类的方法上面,如果这个类被IOC容器托管,那么在对Bean进行初始化前的时候会调用被这个注解修饰的方法 被定义在哪里? 1.被定义在了CommonAnnotationBeanPostProcessor类,这个类是InitDestroyAnnotat 阅读全文
posted @ 2022-09-15 18:12 忧愁的chafry 阅读(125) 评论(0) 推荐(0) 编辑