白晨并不是很能熬夜
码龄3年
关注
提问 私信
  • 博客:140,174
    社区:39
    问答:96
    140,309
    总访问量
  • 76
    原创
  • 5,252
    排名
  • 5,830
    粉丝
  • 学习成就

个人简介:大家好,我是白晨。这个人想日更,但是好像不太可能,尽量不咕咕咕吧。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 毕业院校: 西北工业大学
  • 目前就职: 美团
  • 加入CSDN时间: 2021-09-07
博客简介:

白晨的博客

博客描述:
这是一个每天都在变强的博主,关注我,每天变得更强。
查看详细资料
  • 原力等级
    成就
    当前等级
    6
    当前总分
    2,797
    当月
    21
个人成就
  • 后端领域新星创作者
  • 获得2,493次点赞
  • 内容获得1,548次评论
  • 获得2,166次收藏
  • 代码片获得793次分享
创作历程
  • 16篇
    2024年
  • 10篇
    2023年
  • 27篇
    2022年
  • 24篇
    2021年
成就勋章
TA的专栏
  • 经验分享
    1篇
  • Redis
    8篇
  • 蓝桥杯
    5篇
  • 算法
    12篇
  • Shell
    1篇
  • 程序员必修
    2篇
  • 项目
    1篇
  • 设计模式
    1篇
  • 数据结构
    10篇
  • 杂谈
    1篇
  • 网络
    3篇
  • 刷题日记
    15篇
  • C语言
    20篇
  • C++
    1篇
  • 编程经典
    1篇
  • 路
    1篇
兴趣领域 设置
  • Java
    java
  • 编程语言
    pythonjavac++c语言javascriptr语言
  • 开发工具
    githubgitvisual studio
  • 数据结构与算法
    算法数据结构
  • 后端
    后端
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

179人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

从放弃985计科保研到秋招进大厂,我是怎么做的?【秋招经验分享】

先来介绍一下我自己,bg为985计算机本科,我在放弃了计科保研以后,成功拿到了美团等大厂研发岗的offer。目前秋招已经接近尾声了,我想记录一下这段时间的秋招感悟和经验,并且给和我境遇相同的同学一些参考。下面详细讲述一下我的心路历程以及秋招感悟。
原创
发布博客 2024.11.05 ·
587 阅读 ·
26 点赞 ·
2 评论 ·
15 收藏

【Redis】Hash介绍与应用详解

Redis Hash是一个键值对集合,类似于传统编程语言中的哈希表或字典。Redis Hash通过哈希表实现。这意味着它适合用于存储对象,比如一个用户的信息,其中每个字段(如用户名、年龄、邮箱等)都作为键值对存储在哈希表中。每个哈希表可以包含任意数量的字段,并且每个字段都有唯一的键。Redis中本来就是每一个key对应一个value,那Hash类型和String类型的差别在哪呢?在 Redis 中,虽然每个key对应一个value,但是value的类型可以有多种,其中之一就是Hash类型。
原创
发布博客 2024.06.05 ·
1118 阅读 ·
29 点赞 ·
2 评论 ·
16 收藏

【Redis】List源码剖析

在Redis的发展历程中,List数据类型的底层实现经历了几次重要的演变,从最初的双向链表到后来的快速列表。在Redis的早期版本(2.2及以前),List类型的数据结构采用的是双向链表(LinkedList)。这种实现方式的主要优点在于其插入和删除操作的时间复杂度为O(1),非常高效,特别适合频繁插入和删除的场景。然而,每个节点需要额外的指针存储空间,导致内存开销较大,并且对于大量数据的线性扫描性能较低。随着Redis的发展,开发团队意识到需要一种更节省内存的解决方案。因此,在。
原创
发布博客 2024.06.01 ·
1070 阅读 ·
20 点赞 ·
2 评论 ·
12 收藏

【Redis】ziplist与listpack源码剖析:Redis数据存储的演进与优化

ziplist是一种紧凑的字节数组数据结构,适用于存储小型列表。zlbytes:总字节数(4字节)。zltail:到列表尾节点的偏移量(4字节)。zllen:节点数量(2字节)。entry:实际存储的节点。zlend:结束标记(1字节,值为 0xFF)。每个节点包括prevlen(前一个节点的长度)、encoding(编码方式)和entry-data(实际存储内容)。
原创
发布博客 2024.05.30 ·
1275 阅读 ·
26 点赞 ·
1 评论 ·
34 收藏

【Redis】List介绍与应用详解

Redis List是字符串值的链表。Redis List是通过双向链表实现的。这意味着,即使列表内有数百万个元素,在列表头部或尾部添加新元素的操作也能在恒定时间内完成。使用 LPUSH 命令在有 10 个元素的列表头部添加一个新元素的速度,与在有 1000 万个元素的列表头部添加一个元素的速度相同。限制Redis List的最大长度为232−12^{32} - 1232−1​ (4,294,967,295) 个元素。性能访问其头部或尾部的列表操作是 O(1),这意味着它们非常高效。
原创
发布博客 2024.05.23 ·
907 阅读 ·
33 点赞 ·
1 评论 ·
23 收藏

【Redis】String源码剖析:512MB大字符串的内存管理之道

Redis中,String类型底层实现的数据结构为int和SDS(简单动态字符串)。为什么不使用C原生的字符数组,而要使用SDS呢?获取字符串长度C字符串获取长度会使用strlen函数,时间复杂度为O(n),其获取字符串长度的逻辑如下图所示:而SDS直接用一个类项记录了字符串长度,获取长度的时间复杂度为O(1)。字符串溢出C字符串对于越界检查不是很完善,会出现内存踩踏的问题:而SDS会记录可用空间,在需要扩容时自动扩容。存储特殊类型数据。
原创
发布博客 2024.05.19 ·
762 阅读 ·
20 点赞 ·
1 评论 ·
15 收藏

【Redis】String的介绍与应用详解

String是Redis最基本的类型,一个key对应一个value。key为标识符,value为key对应的值。String是二进制安全的,意思是Redis的String可以包含任何数据,比如jpg图片或者序列化的对象。String类型是Redis最基本的数据类型,一个Redis中字符串value最多可以是512M。String是Redis中最基本的数据类型,采用key-value形式存储。它是二进制安全的,可以存储任何类型的数据,如图片或序列化的对象。
原创
发布博客 2024.05.17 ·
913 阅读 ·
19 点赞 ·
3 评论 ·
26 收藏

【Redis】Redis键值存储

首先要强调一点:Redis是key value类型的数据库,Redis所说的数据类型都是key value中的value的数据结构,而key都是字符串。在本文中,我们对Redis的键值存储进行了全面的概述和介绍。首先,我们了解了Redis的五大基本数据类型:String(字符串)、Hash(哈希)、List(列表)、Set(集合)和Zset(有序集合),并探讨了它们各自的特点和用法。
原创
发布博客 2024.05.15 ·
1394 阅读 ·
47 点赞 ·
0 评论 ·
49 收藏

【Redis】Redis入门概述

首先,我们先来了解什么是Redis。根据官网定义:Redis 是一个内存数据存储,被数百万开发人员用作缓存、向量数据库文档数据库流引擎和消息代理。Redis 具有内置复制和不同级别的磁盘持久性。它支持复杂的数据类型(例如,字符串、哈希、列表、集合、排序集和 JSON),并在这些数据类型上定义了原子操作。首先,我们可以注意到Redis是一个内存数据库,也就是说,它的数据都是直接加载到内存中的。
原创
发布博客 2024.05.13 ·
974 阅读 ·
9 点赞 ·
0 评论 ·
21 收藏

【程序员必修】Shell脚本

大家好呀,我是白晨。今天要为大家带来的是一种简单且实用的脚本语言——Shell脚本。Shell脚本是一种在Unix、Linux和其他类Unix系统上编写的脚本语言。它允许您以一种简单而又强大的方式与操作系统进行交互。无论您是系统管理员、开发人员还是普通用户,掌握Shell脚本都是一个有用的技能。在本教程中,我们将从头开始学习Shell脚本编程。Shell脚本的基础知识:了解Shell脚本的基本语法、变量、条件语句和循环等。实用示例:通过实际的示例演示如何编写Shell脚本。高级主题。
原创
发布博客 2024.04.19 ·
917 阅读 ·
23 点赞 ·
0 评论 ·
28 收藏

【蓝桥杯】蓝桥杯算法复习(五)

本文适合有一定算法基础,但是由于各种原因已经很久没有敲代码的同学。本文以复习+练习为主,旨在通过练习算法题快速复习已经遗忘的算法。即使不是参加蓝桥杯的同学,如果符合上面的条件,依然可以参考本文进行复习。如果你是新手,可以参考白晨的算法专栏进行学习。如果你想系统性进行复习,可关注白晨的蓝桥杯专栏进行学习。本期是本系列的最后一期,因为在写文章的明天就要蓝桥杯比赛了,祝愿各位都能取得自己满意的成绩🤩。数学期望欧拉函数最短路贪心如果解析有不对之处还请指正,我会尽快修改,多谢大家的包容。
原创
发布博客 2024.04.13 ·
783 阅读 ·
21 点赞 ·
0 评论 ·
12 收藏

【蓝桥杯】蓝桥杯算法复习(四)

本文适合有一定算法基础,但是由于各种原因已经很久没有敲代码的同学。本文以复习+练习为主,旨在通过练习算法题快速复习已经遗忘的算法。即使不是参加蓝桥杯的同学,如果符合上面的条件,依然可以参考本文进行复习。如果你是新手,可以参考白晨的算法专栏进行学习。如果你想系统性进行复习,可关注白晨的蓝桥杯专栏进行学习。区间DP树形DP快速幂最大公约数分解质因数矩阵乘法组合计数如果解析有不对之处还请指正,我会尽快修改,多谢大家的包容。如果大家喜欢这个系列,还请大家多多支持啦😋!
原创
发布博客 2024.04.07 ·
604 阅读 ·
14 点赞 ·
0 评论 ·
13 收藏

【蓝桥杯】蓝桥杯算法复习(三)

本文适合有一定算法基础,但是由于各种原因已经很久没有敲代码的同学。本文以复习+练习为主,旨在通过练习算法题快速复习已经遗忘的算法。即使不是参加蓝桥杯的同学,如果符合上面的条件,依然可以参考本文进行复习。如果你是新手,可以参考白晨的算法专栏进行学习。如果你想系统性进行复习,可关注白晨的蓝桥杯专栏进行学习。并查集哈希单调栈树状数组状态压缩DP线性DP背包问题如果解析有不对之处还请指正,我会尽快修改,多谢大家的包容。如果大家喜欢这个系列,还请大家多多支持啦😋!
原创
发布博客 2024.03.28 ·
746 阅读 ·
27 点赞 ·
0 评论 ·
21 收藏

【项目】基于MiniOS的CFS调度和增量式sleep

实现CFS调度策略:参考Linux中实现的完全公平调度算法编写nice系统调用控制不同进程的分配时间片权重增量式sleep,通过维护sleep队列中的等待时间增量实现O(1)弹出,插入为O(n)的sleep实现编写测试程序:创建多个进程,设置每个进程的nice值,观察调度的变化。增加每个进程的统计信息,包括进程的nice值、运行时间等。让多个进程使用增量式sleep等待不同的时间,观察它们被唤醒的时间顺序。在大规模并发的情况下运行程序,检查CFS调度和增量式sleep的性能表现。
原创
发布博客 2024.03.23 ·
1185 阅读 ·
26 点赞 ·
0 评论 ·
18 收藏

【蓝桥杯】蓝桥杯算法复习(二)

本文适合有一定算法基础,但是由于各种原因已经很久没有敲代码的同学。本文以复习+练习为主,旨在通过练习算法题快速复习已经遗忘的算法。即使不是参加蓝桥杯的同学,如果符合上面的条件,依然可以参考本文进行复习。更多本系列文章见蓝桥杯专栏。如果你是新手,可以参考白晨的算法专栏进行学习。
原创
发布博客 2024.03.21 ·
1316 阅读 ·
45 点赞 ·
0 评论 ·
37 收藏

【蓝桥杯】蓝桥杯算法复习(一)

本文适合有一定算法基础,但是由于各种原因已经很久没有敲代码的同学。本文以复习+练习为主,旨在通过练习算法题快速复习已经遗忘的算法。即使不是参加蓝桥杯的同学,如果符合上面的条件,依然可以参考本文进行复习。如果你是新手,可以参考白晨的算法专栏进行学习。
原创
发布博客 2024.03.09 ·
1165 阅读 ·
18 点赞 ·
0 评论 ·
33 收藏

【设计模式】设计模式概述

大家好,我是白晨。不知不觉已经🕊了很久了,白晨在这里给大家道个歉。本次为大家带来的是全新的专栏——设计模式,许多同学学习了面向对象的概念,但是面向对象在实际开发中到底好不好用、到底如何使用,这个问题可能很多人都无法回答。同时,在现在的面试中,设计模式被提及的概率越来越高,“你都使用过什么设计模式?”、“在xxx中都使用了哪些设计模式“,这些问题相信有过面试经历的人都会被问到,但是即使是一个编程的老鸟,做到准确无误的使用设计模式和理解设计模式也是非常困难的。
原创
发布博客 2023.10.20 ·
270 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

【程序员必修】正则表达式

大家好,我是白晨🤤。今天要和大家分享的是一种非常强大的工具,它广泛的应用于Linux、JS等领域,可以帮助你更快地处理和分析文本数据,也是一个优秀的程序员的必修课,它就是——正则表达式。正则表达式主要用来匹配各种各样的字符串,包括数字、字母、符号等等,并且正则表达式可以非常精确地匹配某个字符串,而不会匹配到其他不需要的字符串。此外,它还可以匹配多个相同的字符串,而不需要手动一个一个地匹配。最重要的是,正则表达式可以根据需要进行扩展,以适应更多的应用场景。
原创
发布博客 2023.07.31 ·
683 阅读 ·
15 点赞 ·
13 评论 ·
9 收藏

【数据结构与算法】常用数据结构(二)

大家好,我是白晨。本次又为大家带来的是常用数据结构的模拟实现,主要用于在算法比赛中快速实现一种常用模拟实现。那为什么不用STL呢?首先,STL为了保证其接口的通用性以及要严格符合一个数据结构的定义,在使用时可能不是非常方便;其次,模拟实现的数据结构在运行速度方面是要快于STL的容器的。上篇文章常用数据结构(一)我们介绍了单链表、双链表、栈、队列以及堆这五种最常用的数据结构的模拟实现,本次白晨将在上篇文章的基础上为大家介绍5种更高级的常用数据结构——单调栈、单调队列、并查集、Trie以及哈希表。
原创
发布博客 2023.05.08 ·
814 阅读 ·
12 点赞 ·
8 评论 ·
3 收藏

【数据结构与算法】常用数据结构(一)

大家好,我是白晨。本次为大家带来的常用数据结构的模拟实现,主要用于在算法比赛中快速实现一种常用模拟实现。那为什么不用STL呢?首先,STL为了保证其接口的通用性以及要严格符合一个数据结构的定义,在使用时可能不是非常方便;其次,模拟实现的数据结构在运行速度方面是要快于STL的容器的。本篇文章将详细介绍单链表、双链表、栈、队列以及堆这五种常见数据结构的模拟实现,由于本次是面向新人的教程,白晨使用大量图片、动图和语言描述详细拆解一个模拟数据结构的实现。
原创
发布博客 2023.04.23 ·
576 阅读 ·
13 点赞 ·
8 评论 ·
10 收藏
加载更多