摘要: [Java][并发编程]AQS以及其相关同步器的源码解析 AQS以及其相关同步器的源码解析 概念 AQS(AbstractQueuedSynchronizer)抽象的队列同步器。是用来构建锁或者其他同步器组件的重量级基础框架以及整个JUC体系的基石。通过内置的 FIFO 队列(先入先出队列)来完成资源获取线程的排队工作,将每条要去抢占资源的线程封装成一个 阅读全文
posted @ 2022-05-31 00:10 knqiufan 阅读(238) 评论(0) 推荐(0)
摘要: [Docker] Dockerfile常用保留字 FROM 基础镜像,当前新镜像是基于哪个镜像的,指定一个已经存在的镜像作为模板。第一条必须是from MAINTAINER 镜像维护者的姓名和邮箱地址 RUN 容器构建时需要运行的命令,也就是在 docker builder 时运行 两种格式: shell格式,RUN <命令行命令> 等同于,在终端 阅读全文
posted @ 2022-05-15 11:09 knqiufan 阅读(80) 评论(0) 推荐(0)
摘要: [Redis] Redis的三大缓存异常原因分析和解决方案 Redis的三大缓存异常原因分析和解决方案 缓存的三个异常分别是缓存击穿、缓存雪崩、缓存穿透。这三个问题一旦发生,会导致大量的请求积压到数据库层,并发量巨大的情况下很有可能导致数据库宕机或是故障,造成严重的生产事故。 接下来就来看看这三种缓存异常的原因分析和解决方案。 缓存击穿 缓存击穿是指针对某个 阅读全文
posted @ 2022-05-01 12:00 knqiufan 阅读(2285) 评论(0) 推荐(0)
摘要: [Java] 详细解说final关键字 final final 可以修饰变量、方法和类,表示所修饰的内容一旦赋值之后就不会再被改变。例如String类就是一个final类型的类。 1.具体使用场景 1.1 变量 1.1.1 成员变量 每个类中的成员变量可以分为类变量(static修饰的变量)以及实例变量。针对这两种类型的变量赋初值的时机是 阅读全文
posted @ 2022-04-22 02:01 knqiufan 阅读(311) 评论(0) 推荐(0)
摘要: [JVM] CPU缓存一致性协议 CPU缓存一致性协议 CPU高速缓存 CPU缓存是位于cpu和内存之间的临时数据交换器,它的容量比内存小的夺但是交换速度要比内存快得多,主要是为了解决cpu运行时的处理速度与内存读写速度不匹配的问题。 cpu在执行指令时需要从内存中获取所需要的指令和数据,但是cpu的处理速度远大于内存的读写速度,所 阅读全文
posted @ 2022-04-22 01:56 knqiufan 阅读(441) 评论(0) 推荐(0)
摘要: [JVM] Java内存分配 Java内存分配 程序计数器 程序计数器是一块较小的内存区域,作用可以看做是当前线程执行的字节码的位置指示器。分支、循环、跳转、异常处理和线程恢复等基础功能都需要依赖这个计算器来完成。 虚拟机栈 虚拟机栈也叫栈内存,是在线程创建时创建,它的生命期是跟随线程的生命期,线程结束栈内存也就释放,对于栈来说 阅读全文
posted @ 2022-04-22 01:45 knqiufan 阅读(292) 评论(0) 推荐(0)
摘要: [C#学习笔记]C#中的decimal类型——《CLR via C#》 System.Decimal是非常特殊的类型。在CLR中,Decimal类型不是基元类型。这就意味着CLR没有知道如何处理Decimal的IL指令。 在文档中查看Decimal类型,可以看到它提供了一系列的public static方法,包括Add、Subtract、Multiply、Divide等 阅读全文
posted @ 2019-03-06 19:57 knqiufan 阅读(840) 评论(0) 推荐(0)
摘要: [C#学习笔记]Func委托与Action委托 学习一项新知识的时候,最好的方法就是去实践它。 前言 《CLR via C#》这本神书真的是太有意思了!好的我的前言就是这个。 Fun 如果要用有输入参数,有返回值的委托,那么Func委托将满足你的要求。 Func泛型委托引用了一个带有一个返回值的方法,它可以传递0或者多到16个参数类型,和一个返回 阅读全文
posted @ 2019-03-05 22:55 knqiufan 阅读(779) 评论(0) 推荐(0)
摘要: 写在前面 看《CLR via C#》第四章时,看到了类型对象指针和同步块索引这两个概念,不知如何解释,查看过相关资料之后,在此记录。 类型对象指针 《CLR via C#》中的原话: 任何时候在堆上创建对象,CLR都自动初始化内部的“类型对象指针”成员来引用 与对象对应的类型对象。 在JIT编译器将 阅读全文
posted @ 2019-03-05 13:23 knqiufan 阅读(1755) 评论(0) 推荐(1)
摘要: 写在前面 前几时在写业务代码的时候,看到有用到lock这个方法的,而我竟然并不知道是做什么用的,所以查找了许多博客文章,弄懂了百分之七八十,在此做下笔记。 感谢博客 http://www.cnblogs.com/wolf-sun/p/4209521.html 的解说,该篇博客大部分内容源自于此。 l 阅读全文
posted @ 2019-03-03 23:19 knqiufan 阅读(4340) 评论(2) 推荐(0)