-
锁
为什么有锁 多线程访问共享资源的时候,避免不了资源竞争而导致数据错乱的问题,所以我们通常为了解决这一问题,都会在访问共享资源之前加锁。 最常用的就是互斥锁,还有很多种不同的锁,比如自旋锁、读写锁、乐观锁等,不同种类的锁自然适用于不同的场景。 如... -
死锁
死锁的概念 两个线程为了保护两个不同的共享资源而使用了两个互斥锁,那么这两个互斥锁应用不当的时候,可能会造成两个线程都在等待对方释放锁,在没有外力的作用下,这些线程会一直相互等待,就没办法继续运行,这种情况就是发生了死锁 死锁产生 死锁问题的产生... -
LRU 算法及其优化 LFU 算法
释义:Least recently used,最近最少使用用途:常用于 redis 的数据淘汰策略,Linux读文件、msyql查询传统LRU算法的缺陷 1、预读失效导致缓存命中率下降 2、缓存污染导致缓存命中率下降 什么是预读 就是多读取数据... -
重温基础:操作系统
感谢图灵和冯诺依曼两位大佬赏饭吃本文只记录我个人知道且感觉需要知道的知识点,系统学习请网上查找资料 计算机基本结构(也叫冯诺依曼模型) 运算器、控制器、存储器、输入设备、输出设备 存储器:我们常说的内存 运算器、控制器:我们常说的CPU(中央处... -
存储器的种类和速度
种类 大致可分为机械硬盘、固态硬盘、内存三种存储器,cpu内也有存储数据的组件:寄存器、CPU L1/L2/L3 Cache, 硬件介质(用的啥保存数据) 寄存器和CPU Cache 用的是 SRAM(Static Rando... -
MySQL 执行一条 select 语句,期间发生了什么?
参考网址https://www.xiaolincoding.com/mysql/base/how_select.html 本文记录下基于 SQL 查询流程,可能导致查询速度慢的情况(自己总结,细节部分 chatGPT ,错误欢迎指正) 网络原因 连... -
PHP的垃圾回收机制
PHP 的垃圾回收机制基于引用计数和周期性垃圾回收两种方式。 引用计数PHP 中的变量是以引用计数的方式来管理的。每当一个变量被赋予一个新的值或者被另一个变量引用时,它的引用计数就会增加;当变量不再被引用时,引用计数减少。当引用计数减少到零时,PHP... -
PHP 执行包含数学运算的字符串
1234567891011<?php// 定义包含数学运算的字符串$string = "543+281.84+10+14+5+32+50+12+28+42+5+57";// 使用eval()函数执行字符串中的运算$resul... -
数据结构总结
本文只介绍数据结构的基本概念、优缺点及适用场景,语言差异或者特殊用法会与本文有区别,例如数组的介绍与 PHP 中数组的区别,队列的只能队尾删除等,因使用场景存在队首插入优先消费等数组数组(Array)是一种线性数据结构,用于存储固定大小的相同类型元素... -
设计模式总结(所有代码均通过与 chatGPT 调试获取)
开闭原则对于扩展是开放的,对于修改是封闭的 问个问题:在一个类里面新增一个方法,符合开闭原则么? 创建型模式单例模式三私一公私有化静态属性,私有化构造方法,私有化克隆方法,公有化静态方法。 单例模式:即一个类只会被实例化一次,无论在任何地方调用多少次...