自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 收藏
  • 关注

原创 【MySQL】表的增删查改

在数据库管理中,CRUD(Create, Read, Update, Delete)是一组基本的操作,用于管理表中的数据。Create:创建新的记录或表。Read:检索表中的数据。Update:修改表中现有记录的数据。Delete:从表中移除记录。本文将对这四种操作进行详细介绍。

2024-08-21 23:28:12 1694

原创 【MySQL】表的约束

本文着重于介绍MySQL中表的常用约束:null、default、comment、zerofill、primary key、auto_increment、unique、foreign key。介绍其概念、用法和注意事项,并用示例说明。

2024-08-20 16:37:40 1527

原创 【MySQL】数据库基础(数据类型)

本文详细介绍了MySQL中各种数据类型的分类和特性,包括数值类型、字符串类型、时间和日期类型以及枚举和集合类型。具体内容包括:数据类型分类概述。数值类型:tinyint类型、bit类型、float类型和decimal类型,分别用于存储整数、位值、浮点数和固定精度的小数。字符串类型:char类型和varchar类型,分别用于存储固定长度和可变长度的字符串。时间和日期类型,用于存储日期和时间信息。枚举和集合类型:enum类型和set类型,用于存储有限个值的集合。

2024-08-18 17:27:35 1490

原创 【MySQL】数据库基础(表的操作)

数据库基础:表的相关操作

2024-08-18 12:17:31 1370

原创 【MySQL】数据库基础(库的操作)

MySQL常用的库相关操作:创建、操控、修改、删除、备份和恢复,了解字符集和校验规则,查看数据库连接情况。

2024-08-18 00:10:58 1435

原创 【计算机网络】网络基础概念

初识网络协议:基本概念、分层模型、网络传输基本流程、地址管理、协议、socket编程接口的简单使用

2024-07-15 16:17:26 1141

原创 【Linux】信号量和线程池

主要讲解POSIX信号量的使用,通过信号量模拟实现基于环形队列的生产消费模型。引入线程池概念,并模拟实现

2024-07-12 11:39:21 754

原创 【Linux】日志

本文主要模拟实现日志记录功能

2024-07-11 20:40:56 577

原创 【C++11】线程库

主要介绍C++11中线程库的引入和使用,以及原子性操作库(atomic)和mutex库:四种互斥量和lock_guard、 unique_lock的使用

2024-07-11 10:04:46 780

原创 【Linux】线程(轻量级进程)

线程概念、特性、优点、缺点、异常、用途,进程和线程的对比、线程控制、包含线程的编译链接、创建线程、获得线程自身的ID、线程终止、线程等待、线程分离、线程ID及进程地址空间布局、重谈文件系统(地址空间、页表、物理内存)、Linux线程互斥、进程线程间的互斥相关背景概念、互斥量mutex、互斥量的接口、互斥量的实现原理探究、可重入和线程安全的概念、可重入和线程安全的各种情况、死锁、Linux线程同步、条件变量、同步概念与竞态条件,条件变量函数,生产者消费者模型,基于BlockingQueue的生产者消费者模型

2024-07-07 19:01:06 907 1

原创 【Linux】进程信号

本文介绍了信号的概念、查看信号列表、信号处理常见方式,信号的产生方式:通过终端按键产生、通过系统调用产生、由软件条件产生、由异常产生。信号的保存和捕捉处理,以及信号其它概念的补充:可重入函数、SIGCHLD信号

2024-06-16 11:15:18 1138

原创 【Linux】进程间通信

本文主要介绍进程间通信的管道方式和system V 方式。详细介绍了匿名管道和命名管道的原理和使用。又介绍了system V共享内存的原理和各种函数的使用,为了更深入地了解其数据结构,而对system V消息队列和信号量概述,通过对比回顾共享内存数据结构。管道:包括匿名管道(pipe)和命名管道(FIFO)。匿名管道只能用于具有亲缘关系的进程间通信,而命名管道可以用于不具有亲缘关系的进程间通信。System V进程间通信:包括System V消息队列、System V共享内存、

2024-06-05 21:28:57 919

原创 【C++】异常

本文主要介绍C++异常的引入、使用、异常的抛出和匹配原则、函数调用链中异常栈展开匹配原则、异常的重新抛出、异常安全、异常规范、C++标准库的异常体系以及异常的优缺点

2024-06-03 17:01:22 916

原创 【C++】C++11新特性:新的类功能、可变参数模板、STL容器中的empalce相关接口函数、lambda表达式、包装器(function、bind)

本文继续讲解C++11新特性:新的类功能、可变参数模板、STL容器中的empalce相关接口函数、lambda表达式、包装器(function、bind)

2024-06-01 16:44:03 727

原创 【C++】C++11新特性:列表初始化、声明、新容器、右值引用、万能引用和完美转发

本文通过大量的示例描述C++11的部分新特性:列表初始化、声明、新容器、右值引用、万能引用和完美转发

2024-05-30 14:37:20 1306

原创 【Linux】动静态库

前面在学习使用gcc/g++时,简要介绍了动静态库,现在在学习完文件系统之后再来深入学习动静态库。本文讲解了使用动静态库时的用法,常见问题如何解决,以及问题背后的原理。研究动态库加载到内存的步骤,以及可执行程序如何使用动态库,并通过例子加深理解。

2024-05-27 21:12:54 1157 2

原创 【C++】位图/布隆过滤器+海量数据处理

位图和布隆过滤器在处理海量数据时都发挥着重要的作用。位图可以用于快速判断数据是否存在,实现高效的去重、索引等功能;布隆过滤器可以用于快速判断数据是否存在于一个集合中,实现高效的去重、索引和缓存等功能。它们都可以在处理海量数据时节省大量的空间,提高查询速度。

2024-05-23 21:37:56 812 1

原创 【C++】哈希和unordered系列容器

哈希在计算机科学中广泛应用于快速访问数据。C++11引入了一组新的容器类型:unordered系列关联式容器,它们提供了一种不同于传统关联式容器(如map和set)的存储和访问方式。unordered系列容器基于哈希表实现,它们通常在查找、插入和删除操作上提供平均时间复杂度为O(1)的性能。本文主要讲解该容器的底层结构——哈希的概念和实现

2024-05-22 11:24:42 963

原创 【Linux】文件系统和软硬链接

我们之前对文件的学习都是内存级别的,那么在文件没有被进程打开之前,这个文件是什么样的状态?本篇将站在磁盘的底层数据结构角度告诉你文件在磁盘中是如何存放的,以及磁盘的文件系统如何实现文件的创建、删除等操作,讲解磁盘文件系统具体的运行方式。

2024-05-16 16:56:55 802

原创 【Linux】缓冲区

本文对缓冲区进行通俗易懂的介绍,让大家对缓冲区有更加深入的理解。

2024-05-15 10:25:39 1004

原创 【Linux】文件描述符和重定向

本文回顾C的文件操作知识,引入了在Linux中的文件打开和操作的底层是如何实现的,介绍了open和write系统调用、标志位传参,详细介绍文件描述符fd的概念和使用,以及其他函数调用它时的操作,例如重定向操作。最后补充了标准错误的知识点,有助于更深入的理解重定向。

2024-05-13 20:25:39 887

原创 【Linux】进程程序替换

如果我们想让子进程执行新的程序、执行全新的代码和访问全新的数据,不在和父进程有瓜葛,该怎么做呢?进程程序替换!本文主要介绍了程序替换的概念、原理和步骤方法,介绍了exec系列函数的使用。

2024-05-10 08:44:29 858

原创 【Linux】进程控制

本文回顾了进程创建,并进行更深入的理解,学习进程终止的概念、操作和原因,对退出状态码和错误码进行介绍;接着又介绍进程等待,什么是进程等待、为什么要进程等待、如何进行进程等待,进而详细介绍了wait和waitpid的用法和原理。

2024-05-09 08:43:08 1114

原创 【Linux】进程地址空间

地址空间是指一个实体(如进程、设备或内存段)可以访问的内存地址的总数。对地址空间的的操作需要先描述在组织。在Linux内核中描述进程的地址空间(或虚拟内存管理器)的结构体称作mm_struct,用于管理进程的地址空间。每个进程都有一个mm_struct实例,它包含了进程内存管理相关的所有信息。

2024-05-06 14:19:59 945

原创 【Linux】命令行参数和环境变量

环境变量是什么,常见的环境变量有哪些,环境变量的用途,如何用指令操作环境变量,环境变量表,对环境变量的进一步理解,

2024-05-05 09:40:40 843

原创 【Linux】体系结构和进程管理

本章主要讲解计算机体系结构、操作系统概念和进程的概念,以及Linux具体的进程状态

2024-04-30 14:48:16 750

原创 【数据结构】红黑树

红黑树(Red-Black Tree)是一种自平衡的二叉搜索树,它在每个节点上增加了一个额外的属性,即颜色,可以是红色或黑色。通过满足一定的约束条件,红黑树能够保持较佳的平衡性,从而保证基本的操作(插入、删除、查找)的时间复杂度为 O(log n)。红黑树常见的应用包括标准库中的关联容器(例如C++中的std::map和std::set)、数据库的索引结构、以及在操作系统中的进程调度等方面。

2024-04-16 17:17:01 957

原创 【C++】AVL树详解

AVL树是一种高效的自平衡二叉搜索树,在计算机科学领域得到广泛应用。本文主要介绍了AVL树的概念、节点定义、AVL树的实现以及验证,其中包括对平衡因子的解释,研究在插入节点时,如何通过旋转来调节平衡因子来保持AVL树的特性。

2024-02-29 21:10:59 1338

原创 【C++】map和set——树形结构的关联式容器

本文主要讲述了C++中序列式容器和关联式容器的概念,着重讲解关联式容器中的键值对pair、树形结构的关联式容器set、map、multiset、multimap的使用。

2024-02-29 14:25:12 1201

原创 【C++】二叉搜索树

本篇主要介绍了二叉搜索树的功能和实现,介绍了K模型和KV模型的应用,最后对二叉搜索树的性能进行分析。

2023-12-13 20:35:40 1057

原创 【Linux】gdb-调试代码的工具

本篇关于gdb主要讲了debug和release模式,详细介绍了gdb的使用和常用的命令和注意事项

2023-12-11 20:05:46 1874

原创 【C++】多态

本篇主要介绍了c++中多态的概念、实现和原理,介绍了虚函数、重写、重定义的概念和注意事项,引入了抽象类、接口/实现继承、虚函数表、动态绑定的概念,介绍了多继承关系中的虚函数表。本篇细节干货较多,希望对大家有所帮助。

2023-12-10 17:28:31 1006

原创 【Linux】输出缓冲区和fflush刷新缓冲区

本文主要介绍了输出缓冲区的概念和使用,介绍了回车换行的用法。

2023-12-09 16:14:38 1892

原创 【Linux】make/Makefile --- 自动化构建项目的工具

本篇主要介绍了make/Makefile的简单使用和语法规则,进而介绍了其实现的原理。介绍了make/makefile如何识别文件新旧、.PHONY修饰的伪目标的含义和用法,make/makefile的推导能力,最后介绍了一些Makefile的语法技巧和使用注意事项

2023-12-09 11:45:23 1280

原创 【Linux】gcc/g++与动静态库

本篇主要介绍了Linux中gcc和g++两款编译器的使用和注意事项,解释了gcc实现程序的翻译过程,后面又引入函数库的概念:动静态库、动静态链接。

2023-12-08 19:16:19 1407

原创 【Linux】vim-多模式的文本编辑器

本篇主要介绍了vim的概念和使用,正常、插入、底行三种模式之间的切换和各个模式的常用命令。接着引入了视图模式的批量化注释和vim的简单配置。

2023-11-25 17:23:04 2761 1

原创 【Linux】yum -- 软件包管理器

本篇文章引入了软件包的概念,介绍了yum是什么,在Linux中如何使用yum来搜索、安装、卸载软件以及为什么选择yum,最后介绍了虚拟机和云服务器的用户如何更新yum源。

2023-11-24 21:51:42 1312

原创 【Linux】Linux权限管理

本篇文章主要介绍了Linux中权限的概念,引入了用户的类型、创建切换和删除的使用,详细地介绍了文件的类型、基本权限、以及文件访问相关的操作,对初学者有较大帮助

2023-11-24 16:28:04 2987

原创 【Linux】Shell命令以及运行原理

本篇文章介绍了Linux狭义和广义的概念,引入了Shell的概念,介绍了为什么要有shell以及Shell的功能和工作原理。

2023-11-23 09:52:46 219

原创 【C++】继承(二)

本篇内容介绍了继承体系中友元和静态成员的使用,介绍了单继承和多继承,进而引入了菱形继承的概念,讨论了菱形继承存在的问题和解决方法:虚拟继承。最后扩展地介绍了继承和组合,通过问答的方式说明了两者的不同和使用场景。

2023-11-21 20:34:19 202

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除