avatar
文章
75
标签
56
分类
25
Home
时间轴
标签
分类
娱乐
  • 音乐
  • 电影
  • 游戏
  • 番剧
友链
关于
木素音的小站
Home
时间轴
标签
分类
娱乐
  • 音乐
  • 电影
  • 游戏
  • 番剧
友链
关于

木素音的小站

C Primer Plus整理
发表于2025-10-23|计算机C语言
数据基本数据类型先声明再使用声明数据实际上有两个作用 需占内存的大小, 能表示的数据范围 允许的操作种类 整数 int修饰词 short (int) %hd long (int) %ld %lo %lx 要把一个较小的数看做 long,在数后面加 l 或 L(建议使用 L) long long (int) %lld unsigned (int) %u 可移植类型 <stdint.h> <inttypes.h> 浮点数 float存储中的表示首位作为符号位,一部分作为值(尾数)部分,另一部分作为指数部分,根据指数部分的大小使小数点移动,因此称为“浮点数” 声明形式 1.14 5.e-2 .45E-6 作为一个整体,不要在其中加入空格 注:NaN 为浮点数 修饰词 float %f ​ 后面 8 位:127+C 最后 23 位:M-1, 丢弃小数点 double %lf ​ %le ​ %la ​ a 表示十六进制的浮点数后面 11 位:1023+C 最后 52 位:M-1,丢弃小数点 long double %Lf (注意是大写的 L,且只有一...
Redis
发表于2025-10-19|计算机八股
认识 RedisRedis 是什么 基于内存的数据库,读写速度快,高性能 用于缓存,消息队列、分布式锁 操作有原子性,执行命令由单线程负责,不存在并发竞争 支持事务 、持久化、Lua 脚本、多种集群方案(主从复制模式、哨兵模式、切片机群模式)、发布/订阅模式,内存淘汰机制、过期删除机制 Redis 数据结构 String:缓存对象、常规计数、分布式锁、共享 Session 信息 List:消息队列(生产者需实现全局唯一 ID;无法实现消费组) Hash:缓存对象、购物车 Set:聚合计算(并交差):点赞、共同关注、抽奖 Zset:排序场景:排行榜、姓名排序 BitMap:二值状态统计:签到、用户登录状态 HyperLogLog:海量数据技术统计场景:百万级网页 UV 计数 GEO:地理位置信息场景:打车、地图 Stream:消息队列(实现全局唯一 ID,支持消费组) 内部实现 StringString 底层由简单动态字符串(Simple Dynamic String, SDS) 实现 SDS 可以保存文本数据和二进制数据(如图片、视频等) 使用 len​ 来判...
Java集合
发表于2025-10-19|计算机八股
集合集合与数组 数组是固定长度的数据结构,一旦创建长度就无法改变,而集合是动态长度的数据结构,可以根据需要动态增加或减少元素。 数组可以包含基本数据类型和对象,而集合只能包含对象。 数组可以直接访问元素,而集合需要通过迭代器或其他方法访问元素。 常用集合 ArrayList:动态数组,实现了 List 接口,支持动态增长。 LinkedList:双向链表,也实现了 List 接口,支持快速的插入和删除操作。 HashMap:基于哈希表的 Map 实现,存储键值对,通过键快速查找值。 HashSet:基于 HashMap 实现的 Set 集合,用于存储唯一元素。 TreeMap:基于红黑树实现的有序 Map 集合,可以按照键的顺序进行排序。 LinkedHashMap:基于哈希表和双向链表实现的 Map 集合,保持插入顺序或访问顺序。 PriorityQueue:优先队列,可以按照比较器或元素的自然顺序进行排序。 线程安全的集合util 包 Vector:线程安全的动态数组,其内部方法基本都经过 synchronized 修饰,如果不需要线程安全,并不建议选择,存在同步的额外...
Spring
发表于2025-10-19|计算机八股
Spring核心特性 IoC 容器:Spring 通过控制反转实现了对象的创建和对象间的依赖关系管理。开发者只需要定义好 Bean 及其依赖关系,Spring 容器负责创建和组装这些对象。 AOP:面向切面编程,允许开发者定义横切关注点,例如事务管理、安全控制等,独立于业务逻辑的代码。通过 AOP 可以将这些关注点模块化,提高代码的可维护性和可重用性。 事务管理:Spring 提供了一致的事务管理接口,支持声明式和编程式事务。开发者可以轻松地进行事务管理,而无需关心具体的事务 API。 MVC 框架:Spring MVC 是一个基于 Servlet API 构建的 Web 框架,采用了模型-视图-控制器(MVC)架构。它支持灵活的 URL 到页面控制器的映射,以及多种视图技术。 核心思想 核心思想 解决的问题 实现手段 典型应用场景 IoC 对象创建与依赖管理的高耦合 容器管理 Bean 生命周期 动态替换数据库实现、服务组装 DI 依赖关系的硬编码问题 Setter/构造器/注解注入 注入数据源、服务层依赖 DAO 层 AOP 横切逻辑分...
分布式
发表于2025-10-15|计算机八股
分布式理论CAP 原则在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性), 三者不可得兼 一致性(C) :  在分布式系统中的所有数据备份, 在同一时刻是否同样的值(等同于所有节点访问同一份最新的数据副本) 可用性(A):  在集群中一部分节点故障后, 集群整体是否还能响应客户端的读写请求(对数据更新具备高可用性) 分区容忍性(P):  以实际效果而言, 分区相当于对通信的时限要求. 系统如果不能在时限内达成数据一致性, 就意味着发生了分区的情况, 必须就当前操作在 C 和 A 之间做出选择 分布式锁分布式锁是用于分布式环境下并发控制的一种机制,用于控制某个资源在同一时刻只能被一个应用所使用 Redis 实现使用 Redis 中的 SET NX,实现只有 Key 不存在才插入 如果 key 不存在,则显示插入成功,可以用来表示加锁成功; 如果 key 存在,则会显示插入失败,可以用来表示加锁失败。 加锁SET lock_key unique_value NX PX 1000...
Github Actions
发表于2025-10-08|计算机工具CICD
GitHub Actions持续集成由很多操作组成,比如抓取代码、运行测试、登录远程服务器,发布到第三方服务等等。GitHub 把这些操作就称为 actions。 很多操作在不同项目里面是类似的,完全可以共享。GitHub 注意到了这一点,想出了一个很妙的点子,允许开发者把每个操作写成独立的脚本文件,存放到代码仓库,使得其他开发者可以引用。 如果你需要某个 action,不必自己写复杂的脚本,直接引用他人写好的 action 即可,整个持续集成过程,就变成了一个 actions 的组合。 GitHub 做了一个官方市场,可以搜索到他人提交的 actions。另外,还有一个  awesome actions  的仓库,也可以找到不少 action。 每个 action 就是一个独立脚本,因此可以做成代码仓库,使用userName/repoName的语法引用 action。比如,actions/setup-node就表示github.com/actions/setup-node这个仓库,它代表一个 action,作用是安装 Node.js。GitHub 官方的 actions 都放...
Java基础
发表于2025-10-04|计算机八股
概念优势 跨平台:JVM。Java 源码编译后生成 .class ​ 文件(字节码文件),JVM 可直接将字节码文件翻译成机器语言从而运行 Java 程序跨平台,但 JVM 不是跨平台 面向对象 生态完善 内存管理:自动垃圾回收 多线程支持 劣势 JVM 性能低于原生编译语言 语法繁琐 JVM/JDK/JRE JVM:Java 虚拟机 主要工作是解释自己的指令集(即字节码)并映射到本地的 CPU 指令集和 OS 的系统调用。(即将 Java 字节码解释或编译成机器码) 执行 Java 程序程序 内存管理、垃圾回收、安全性 JDK:Java 开发工具包 包含 JVM、编译器(javac)、调试器(jdb),标准库和工具库 JDK 提供开发、编译、调试和运行 Java 程序所需的全部工具和环境 JRE:Java 运行时环境 Java 程序运行所需最小环境 包含 JVM 和一组 Java 类库,不包含开发工具,只提供运行环境 解释性和编译性Java 同时具有解释性和编译性 编译性:在程序执行之前,整个源代码会被编译成机器码或...
JVM
发表于2025-10-02|计算机八股
内存模型内存模型划分 程序计数器:可以看作是当前线程所执行的字节码的行号指示器,用于存储当前线程正在执行的 Java 方法的 JVM 指令地址。 如果线程执行的是 Native 方法,计数器值为 null。 是唯一一个在 Java 虚拟机规范中没有规定任何 OutOfMemoryError 情况的区域,生命周期与线程相同。 Java 虚拟机栈:每个线程都有自己独立的 Java 虚拟机栈,生命周期与线程相同。 每个方法在执行时都会创建一个栈帧,用于存储局部变量表、操作数栈、动态链接、方法出口等信息。 可能会抛出 StackOverflowError 和 OutOfMemoryError 异常。 本地方法栈:与 Java 虚拟机栈类似,主要为虚拟机使用到的 Native 方法服务,在 HotSpot 虚拟机中和 Java 虚拟机栈合二为一。 本地方法执行时也会创建栈帧,同样可能出现 StackOverflowError 和 OutOfMemoryError 两种错误。 Java 堆:是 JVM 中最大的一块内存区域,被所有线程共享,在虚拟机启动时创建,用于存放对象实例。...
MongoDB SpringBoot集成
发表于2025-10-02|计算机数据库MongoDB
MongoDB 集成导入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> 远程连接配置#MongoDB连接配置 spring.data.mongodb.uri: mongodb://172.30.138.31:27017/chat_memory_db 使用创建实体类import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; @Data @AllArgsC...
MongoDB 基本用法
发表于2025-10-02|计算机数据库MongoDB
概述非关系型数据库,以类 JSON 格式存储数据,是非关系型数据库中与关系型数据库最相似的 CRUD1. Create(插入文档)向集合中插入新文档。 插入单个文档db.collection.insertOne({ name: "Alice", age: 25, job: "Engineer" }); 插入多个文档db.collection.insertMany([ { name: "Bob", age: 30, job: "Designer" }, { name: "Charlie", age: 35, job: "Manager" } ]); 2. Read(查询文档)从集合中查询文档。 查询所有文档db.collection.find(); 查询特定条件的文档db.collection.find({ age: { $gt: 25 } }); // 查询 age 大于 25 的文档 查询并返回特定字段db.collection.f...
1…678
avatar
Musuyin
Musuyin's Blog
文章
75
标签
56
分类
25
Follow Me
公告
即使迷茫,也要前进!
最新文章
Terraform 基础知识2026-04-15
使用 Hexo 搭建博客2026-04-15
Mermaid使用2026-04-14
自底向上优先分析2026-04-13
LR分析2026-04-13
分类
  • CS7
    • Cloud1
      • Docker1
    • 嵌入式3
    • 工具3
      • 部署3
  • 计算机62
    • Cloud9
标签
MyBatis 反射 Linux 博客 Cloud JavaSE 数据库设计 RISC-V 嵌入式 SQL JVM 分布式 Set Redis Go 数据库 机器学习 Spring Obsidian Kubernetes MySQL SpringBoot 后端 密码学 List Seata SpringMVC 八股 汇编 Git Java 计算机网络 SpringCloud 网络安全 分布式事务 关系模型 统计学习 Markdown ER图 人工智能
归档
  • 四月 2026 8
  • 三月 2026 21
  • 一月 2026 7
  • 十二月 2025 6
  • 十一月 2025 16
  • 十月 2025 15
  • 八月 2025 1
  • 八月 2024 1
网站信息
文章数目 :
75
最后更新时间 :
© 2025 - 2026 By Musuyin框架 Hexo 8.1.1|主题 Butterfly 5.5.4