
编程理论
文章平均质量分 76
半桶水专家
半桶水先生,不求甚解
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
压缩技术的基本原理
将数据转换到频域,保留主要成分(如JPEG使用DCT,MP3使用傅里叶变换)。:利用相邻数据的相关性预测下一个值,仅存储误差(如JPEG-LS)。:根据数据类型选择最优压缩策略(如文本用LZ77,图像用RLE)。:针对特定数据优化(如压缩英文文本和压缩二进制文件的字典不同)。:使用滑动窗口记录历史数据,用(距离,长度)表示重复片段。无损压缩:消除统计冗余,适用于精确数据(如文本、程序)。:PNG(Deflate)、JPEG(DCT+量化)。:MP3(心理声学模型)、FLAC(无损压缩)。原创 2025-04-09 09:58:44 · 577 阅读 · 0 评论 -
Socket.IO V2 与 V3 的核心区别
Socket.IO 作为实时通信领域的流行库,其 V3 版本的发布带来了显著的性能优化和功能改进。本文将从协议、功能、API 及兼容性等维度全面解析 V2 与 V3 的差异,并为升级提供实践建议。原创 2025-03-11 11:59:20 · 952 阅读 · 0 评论 -
socket.io协议内容详解
Socket.IO 是一个基于事件的实时通信库,支持双向通信。它并非单一协议,而是结合了 Engine.IO 传输层和 Socket.IO 应用层协议的复合体系。Socket.IO 协议通过分层设计兼顾兼容性与功能扩展性,支持多传输方式无缝切换、可靠事件传递及复杂实时交互场景。:负责底层传输(如 WebSocket、HTTP 长轮询),处理连接稳定性、心跳和断线重连。:构建于 Engine.IO 之上,定义应用层逻辑,如事件、房间、ACK 确认等。:服务端概念,客户端可加入/离开房间,实现广播目标过滤。原创 2025-03-06 17:05:01 · 919 阅读 · 0 评论 -
Server-Sent Events(SSE)协议详解
SSE 是实现服务器到客户端实时通信的轻量级方案,适合单向数据推送场景。相比 WebSocket,SSE 更简单、兼容性更好,但需根据实际需求(如是否需要双向通信)选择技术方案。原创 2025-02-18 14:04:03 · 1580 阅读 · 0 评论 -
Linux 中 select 的详解
select是 Linux 提供的一种经典的 I/O 多路复用机制,用于同时监控多个文件描述符上的 I/O 事件(如可读、可写、异常)。它最早出现在 BSD 系统中,是一种跨平台支持的标准(POSIX 标准)。select。原创 2024-12-20 13:30:48 · 1277 阅读 · 0 评论 -
ASCII码简介以及在php中的使用
ASCII美国信息交换标准代码)是一种字符编码标准,用于在计算机、通信设备及其他设备中表示文字、符号和控制信息。它最早于 1963 年由美国国家标准学会(ANSI)发布,后来成为计算机字符集的基础。ASCII 的关键特点1. 字符范围ASCII 使用7 位二进制表示一个字符,共支持128 个字符。0 到 127。每个字符对应一个数字(整数值),这就是它的 ASCII 编码值。A的 ASCII 值是65a是97。2. 字符分类控制字符(0-31 和 127)原创 2024-12-17 15:51:00 · 624 阅读 · 0 评论 -
秒杀系统如何保证库存不超卖
使用乐观锁或悲观锁来确保数据库层面的并发安全。使用Redis 缓存预减库存结合异步队列来提高高并发下的性能。分布式锁(如 Redis 锁)确保多节点环境下的库存操作一致性。秒杀令牌机制可以有效控制用户数量,防止超卖和系统崩溃。根据具体的业务场景和需求,可以选择合适的方案或将几种方案结合使用。原创 2024-09-08 16:54:53 · 1772 阅读 · 0 评论 -
如何解决缓存(redis)和数据库(MySQL)数据不一致的问题?
如何解决缓存(redis)和数据库(MySQL)数据不一致的问题?原创 2024-09-08 16:49:07 · 1986 阅读 · 0 评论 -
面向对象编程的原则以及类之间的关系详解
面向对象编程的原则以及类之间的关系详解原创 2024-09-02 10:55:20 · 734 阅读 · 0 评论 -
商城开发中,订单超时关闭的功能的实现
订单超时关闭的功能原创 2024-08-26 18:29:03 · 646 阅读 · 0 评论 -
接口限流策略及实现方法
接口限流原创 2024-08-26 18:13:56 · 777 阅读 · 0 评论 -
redis基于多路复用的I/O模型
什么是多路复用 I/O 模型? Redis 的多路复用 I/O 实现;Redis 事件处理机制;Redis 文件事件处理过程;多路复用模型的优势;Redis 的单线程特性;原创 2024-08-21 10:00:13 · 984 阅读 · 0 评论 -
进程和线程详解
什么是进程?什么是线程?它们之间有什么依赖关系?它们有什么异同?原创 2024-08-20 17:49:17 · 479 阅读 · 0 评论 -
程序开发中的防抖和幂等详解
程序开发中的防抖和幂等分别是什么?他们有什么异同?原创 2024-08-18 11:09:45 · 477 阅读 · 0 评论 -
php设计模式之策略模式详解
php设计模式之策略模式详解及举例说明原创 2024-06-03 13:08:14 · 693 阅读 · 0 评论 -
性能测试工具 ab(Apache Bench)使用详解
性能测试工具 ab(Apache Bench)使用详解原创 2024-04-07 20:03:23 · 1425 阅读 · 0 评论 -
布隆过滤器的原理
布隆过滤器的原理原创 2024-01-09 18:00:17 · 555 阅读 · 0 评论 -
悲观锁和乐观锁
因此,在使用悲观锁时,线程在访问共享资源之前会先获取锁,以确保独占访问权限。悲观锁的典型实现是通过使用互斥锁(Mutex)或读写锁(ReadWriteLock)来限制对共享资源的访问。每个线程在读取共享资源时都会获得一个标识符,当线程想要更新资源时,它会与之前读取的标识符进行比较,以判断是否有冲突。然而,在存在较高竞争的情况下,重试操作可能会增加开销,并且由于无法保证数据一致性,可能需要进行冲突处理。然而,由于它要求线程在访问共享资源之前获取锁,因此可能会导致其他线程等待的情况,降低了并发性能。原创 2023-06-21 10:03:55 · 185 阅读 · 0 评论