刷新
Go 语言语法完全指南

博主头像 Go 语言语法完全指南 前言 Go,也称 Golang,Google 推出的一门静态强类型、编译型语言。特点:语法简介、编译快、并发能力强、工程化支持完善。应用领域如:后端开发、云原生、微服务、分布式系统、DevOps 工具链等。 本文是我学习 Golang 后,以 系统性总结 的方式对其语法知识进 ...

算法~时间戳计算两个日期是否为同天同时同分

博主头像 UTC时间戳验证两个日期是否为同一天的核心原理在于:时间戳是绝对的时间点,而“天”是依赖于特定时区(如UTC)的人为划分区间。通过将两个绝对时间点转换到同一时区后,比较它们的年、月、日是否完全相同。 具体原理可分以下几步理解: 1. 时间戳的本质 Unix时间戳(通常指秒数或毫秒数)是从 1970- ...

Mysql的行级锁到底是怎么加的?

博主头像 开篇结论 加锁的对象是索引,加锁的基本单位是 next-key lock,它是由记录锁和间隙锁组合而成的,next-key lock 是左开右闭区间,而间隙锁是左开右开区间。 在只使用记录锁或者间隙锁就能避免幻读现象的场景下, next-key lock 就会退化成记录锁或间隙锁。 假设这个表,id ...

Java线程池完全指南:从原理到实战的7个关键点

博主头像 前言 线程池是Java并发编程的核心组件,也是面试必考题。本文从原理到实战,带你全面掌握线程池的7个关键点。 一、为什么需要线程池? 每次创建线程都有开销: 线程创建需要调用系统API,开销大 线程销毁也需要开销 大量线程会消耗内存 线程池解决问题: 线程复用,减少创建销毁开销 控制最大并发数 提供 ...

密码学系列之C/Python编程实现DES算法

博主头像 DES 任务描述 编程实现DES的加密和解密算法,对明文“0x0123456789ABCDEF”进行加密,采用密钥“0x133457799BBCDFF1”,输出每一轮的加密结果和轮密钥,并对密文进行解密,输出解密后的结果。 DES算法详细介绍我就不展开了,但是简略的过程如上。同样,有需要的读者适当考 ...

密码学系列之C/Python编程实现AES算法

博主头像 AES 任务描述 编程实AES的加密和解密算法,对明文“0x3243f6a8885a308d313198a2e0370734”进行加密,采用密钥“0x2b7e151628aed2a6abf7158809cf4f3c”, 输出每一轮的加密结果和轮密钥,并对密文进行解密,输出解密后的结果。 AES通常细 ...

Redis缓存实战:彻底解决缓存穿透、击穿、雪崩三大难题

博主头像 前言 Redis缓存是Java开发中最常用的技术之一,但缓存穿透、击穿、雪崩三大问题也是面试高频考题。本文结合实战代码,带你彻底搞懂这三大难题。 一、缓存穿透 问题描述 查询一个数据库和缓存中都不存在的key,每次请求都打到数据库,大量请求可能拖垃数据库。 解决方案 1. 缓存空对象 @Servic ...

揭秘MySQL索引分类

博主头像 索引的作用 说白了索引就是数据的目录,根据索引去查数据必然比在库中一行记录一行记录的查更快 索引分类 按数据结构分类 Mysql的数据是存储在磁盘中的,每次从磁盘中读取数据都需要进行一次IO。一个表的数据在磁盘上由于插入顺序的原因肯定不是顺序存放,如果按照表字段内容顺序查找,如果一个500万条数据的 ...

Python变量作用域与命名空间详解:从LEGB到代码实践

引言 理解变量作用域和命名空间是掌握Python的关键一步。许多初学者在遇到UnboundLocalError或发现函数内外变量值不一致时感到困惑。本文将深入解析Python的变量查找机制,帮助你写出更健壮、更可预测的代码。 一、什么是命名空间? 命名空间(Namespace)是一个存储变量名到对象 ...

Java 26 发布了, 我人麻了。。

博主头像 大家好,我是R哥。 Java 25 刚发布半年之久(Java 25 正式发布),很多人可能还没听说过,现在 Java 26 又来了,我真的人麻了啊。。。 需要注意的是,Java 26 并不是 LTS(长期支持版本),千万不要用在生产环境里,因为它许多特性还在预览阶段,可能会有不兼容的变动。 废话不多 ...

InnoDB存储结构全解析:行页区段与单表2000W行的关系

博主头像 逻辑存储结构 表空间由段(segment)、区(extent)、页(page)、行(row)组成,InnoDB存储引擎的逻辑存储结构大致如下图: 行(row) 数据库表中的记录都是按行(row)进行存放的,每行记录根据不同的行格式,有不同的存储结构。 页(page) 记录是按照行来存储的,但是数据库 ...

<1···678···50>