自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构--跳表

跳表

2022-09-27 09:49:29 257 1

原创 Linux文件服务

NFSFTP上传文件

2022-07-06 10:41:18 326

原创 Linux 日志管理

日志

2022-07-05 12:10:56 263

原创 Linux计划任务

循环调度,一次性调度

2022-07-05 10:17:50 305

原创 Linux磁盘分区

磁盘

2022-07-04 21:00:00 1067

原创 Linux进程补充

进程 后台

2022-07-04 12:08:37 251

原创 Linux目录信息补充

linux目录&用户信息

2022-07-04 11:15:15 435

原创 数据结构 图

2022-05-27 16:00:15 365 3

原创 数据结构 B-树

B-树B-树B-数的插入实现B-树的插入B+树和B*树B+树B*树总结B-树的应用索引B-树1970年,R.Bayer和E.mccreight提出了一种适合外查找的树,它是一种平衡的多叉树,称为B树(有些地方写 的是B-树,注意不要误读成"B减树")。一棵M阶(M>2)的B树,是一棵平衡的M路平衡搜索树,可以是空树或 者满足一下性质:根节点至少有两个孩子每个非根节点至少有M/2(上取整)个孩子,至多有M个孩子每个非根节点至少有M/2-1(上取整)个关键字,至多有M-1个关键字,并且以

2022-05-27 11:59:22 453 1

原创 数据结构--并查集

并查集并查集原理并查集实现并查集原理在一些应用问题中,需要将n个不同的元素划分成一些不相交的集合。开始时,每个元素自成一个单元素集合,然后按一定的规律将归于同一组元素的集合合并。在此过程中要反复用到查询某一个元素归属于那个集合的运算。适合于描述这类问题的抽象数据类型称为并查集(union-find set)。并查集是一个森林–多棵树构成并查集由多个集合构成,每个集合都可以认为是一棵树并:合并多个集合查:两个值是否在一个集合举例:某学校招生10人,数学类招4人,英语类招3人,语文类招3人,

2022-05-27 08:30:00 136

原创 LRU Cache

LRU CacheLRU Cache的实现LRU是Least Recently Used的缩写,意思是最近最少使用,它是一种Cache替换算法。Cache:狭义的Cache指的是位于CPU和主存间的快速RAM, 通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。 广义上的Cache指的是位于速度相差较大的两种硬件之间, 用于协调两者数据传输速度差异的结构。除了CPU与主存之间有Cache, 内存与硬盘之间也有Cache,乃至在硬盘与网络之间也有某种意义上的Cache── 称为I

2022-05-26 19:44:28 849

原创 剑指 Offer II 116省份数量

省份数量题目描述:解题方法:并查集class UnionFindSet{public: UnionFindSet(size_t n) { _ufs.resize(n, -1); } void Union(int x1, int x2)//x1和x2所在集合的合并 { assert(x1 < _ufs.size()); assert(x2 < _ufs.size()); int root1 = FindRoot(x1); int root2 = Find

2022-05-26 18:22:07 120

原创 云备份项目

云备份

2022-05-26 15:30:20 403 2

原创 数据库连接C语言

数据库连接C语言连接mysql接口介绍初始化链接数据库下发mysql命令获取执行结果获取结果行数获取结果列数获取列名获取结果内容关闭mysql链接连接rz -E 压缩包tar xzf mysql-connector-c-6.1.11-linux-glibc2.12-x86_64.tar.gzmv mysql-connector-c-6.1.11-linux-glibc2.12-x86_64 mysql_connectln -s ~/mysql_connect/include include

2022-05-23 13:33:13 2052 2

原创 MySQL用户管理

用户管理用户用户信息创建用户删除用户修改用户密码给用户授权回收权限用户用户信息MySQL中的用户,都存储在系统数据库mysql的user表中mysql> use mysql;mysql>select host,user,authentication_string from user;+-----------+---------------+-------------------------------------------+| host | user

2022-05-19 16:00:00 164 5

原创 MySQL事务管理

MySQL事务管理事务为什么会出现事务事务的版本支持事务提交方式事务常见操作方式结论事务操作注意事项事务隔离级别如何理解隔离性隔离级别查看隔离级别设置隔离级别读未提交【Read Uncommitted】读提交【Read Committed】可重复读【Repeatable Read】串行化【serializable】总结一致性(Consistency)隔离性数据库并发的场景有三种:读-写RR 与 RC的本质区别RR 与 RC的本质区别事务事务就是一组DML语句组成,这些语句在逻辑上存在相关性,这一组DML

2022-05-19 12:00:00 517 1

原创 MySQL视图

MySQL视图基本使用视图规则和限制视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。基本使用创建视图create view 视图名 as select语句;create view v_ename_dname as select ename, dnamefrom EMP, DEPT where EMP.deptno=DEPT.deptno;**修改了视图,对基表数据有影响,修改了基表,对视图有影

2022-05-18 21:45:00 111 2

原创 MySql索引

索引索引磁盘MySQL与存储磁盘随机访问(Random Access)与连续访问(Sequential Access)MySQL 与磁盘交互基本单位结论索引为何IO交互要是 Page单个Page理解多个Page单页多页总结InnoDB 在建立索引结构来管理数据的时候,其他数据结构为何不行?聚簇索引 VS 非聚簇索引索引操作创建主键索引创建唯一索引创建普通索引全文索引查询索引删除索引索引创建原则索引:提高数据库的性能,索引是物美价廉的东西了。不用加内存,不用改程序,不用调sql,只要执行正确的create

2022-05-18 12:16:11 204

原创 实现高并发内存池

高并发内存池什么是内存池池化技术内存池内存池主要解决的问题内存碎片malloc定长内存池高并发内存池整体框架thread cachecentral cachepage cache代码总体实现复杂问题的调试技巧vs2013性能分析实现基数树进行优化单层基数树二层基数树三层基数树代码实现什么是内存池池化技术所谓“池化技术”,就是程序先向系统申请过量的资源,然后自己管理以备不时之需。之所以要申请过量的资源,是因为每次申请该资源都有较大的开销,不如提前申请好,这样使用时就会变得非常快捷,大大提高程序运行效率。

2022-05-16 15:09:34 491 12

原创 自主web服务器

自主实现web服务器

2022-05-04 14:18:59 482 14

原创 MySql表的内连和外连

表的内连和外连内连接外连接左外连接右外连接表的连接分为内连和外连内连接**内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。**select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件;eg:显示SMITH的名字和部门名称-- 用前面的写法select ename, dname from EMP, DEPT where EMP.deptno=DEPT.deptno a

2022-04-28 12:00:00 212 3

原创 MySql复合查询

复合查询基本查询多表查询自连接子查询单行子查询多行子查询in关键字all关键字any关键字多列子查询在from子句中使用子查询合并查询unionunion all基本查询查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的Jselect * from EMP where (sal>500 or job='MANAGER') and ename like 'J%';按照部门号升序而雇员的工资降序排序select * from EMP order by dept

2022-04-27 12:05:10 220 2

原创 MySql基本查询

表的增删改查create替换Retrieveselect全列查询限制查询长度指定列查询查询字段为表达式为查询结果指定别名结果去重where条件结果排序筛选分页结果UpdateDelete删除整张表截断表插入查询结果聚合函数group by子句的使用CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除)createINSERT [INTO] table_name[(column [, column] ...)]VALUES (value_list)

2022-04-24 10:00:00 411 7

原创 MySql--表的约束

表的约束空属性默认值列描述zerofill主键自增长唯一键外键什么是约束:本质是是MySql通过限制用户操作的方式,来达到数据本身的安全,完整性的一套方案为什么要有约束?本质上是MySql是一套数据存储方案,除了解决基本的数据存储功能外,还要保证数据尽可能的安全,减少用户的误操作可能性真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是id,要求是唯一的。表的约束很多,如: null/not nu

2022-04-23 11:00:00 107 3

原创 MySql内置函数

内置函数函数日期函数字符串函数数学函数其他函数函数日期函数在日期的基础上加日期:在日期的基础上减去时间:计算两个日期之间相差多少天:案例:create table tmp(id int primary key auto_increment,birth date);--添加当前日期insert into tmp(birthday) values(current_date());案例2:创建一个留言表create table msg( id int primary k

2022-04-22 17:10:33 137 9

原创 MySql--- 数据类型

数据类型数据类型数据类型分类tinyint类型bit类型小数类型floatdecimal字符串类型char类型示例varchar示例char和varchar的比较日期类型和时间类型示例enum和set示例集合查询使用find_ in_ set函数:数据类型数据类型决定了在存储的位置中占据空间的大小,以及如何识别等数据类型分类tinyint类型取值:-128~127tinyint unsigned取值:0~255当我们插入数据时,因为数据本身有自己的取值范围,Mysql对于数据的存储,

2022-04-22 11:18:14 1041 1

原创 MySql--表的操作

表的操作表的操作创建表示例查看表结构修改表示例总结删除表表的操作DDL:建表,删表,改表,查表(结构)创建表CREATE TABLE table_name (field1 datatype,field2 datatype,field3 datatype) character set 字符集 collate 校验规则 engine 存储引擎;field 表示列名datatype 表示列的类型character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准colla

2022-04-21 08:30:00 113 1

原创 MySql--库的操作

库的操作创建数据库案例字符集和校验规则查看系统默认字符集以及校验规则查看数据库支持的字符集查看数据库支持的字符集校验规则校验规则对数据库的影响不区分大小写区分大小写操纵数据库查看数据库显示创建语句修改数据库例子数据库删除备份和恢复备份还原查看连接情况创建数据库CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]create_specification:[DEFAULT]

2022-04-20 16:46:43 802

原创 MySql--数据库基础

数据库基础数据库常用的数据库基本使用安装连接服务器,数据库,表关系使用案例创建数据库使用数据库mysql清屏创建数据库表表中插入数据查询表中数据MySQL架构SQL分类存储引擎查看存储引擎数据库存储数据用文件就可以了,为什么需要数据库?文件保存数据有以下几个缺点:文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便数据库存储介质:磁盘内存为了解决上述问题,设计出更加利于管理数据的东西——数据库,它能更有效的管理数据。常用的数据库SQL S

2022-04-20 16:09:00 89

原创 Centos7安装mysql

Centos7安装MySql

2022-04-20 13:11:56 975 9

原创 Linux ----高级IO

高级IO高级IO五种IO模型阻塞IO非阻塞IO信号驱动IOIO多路转接异步IO高级IO概念同步通信 vs 异步通信阻塞 vs 非阻塞其他高级IO非阻塞IOfcntl实现函数SetNoBlock以轮询方式读取数据I/O多路转接selectselect函数timeouttimeval函数返回值错误值fd_set结构select函数工作流程select就绪条件select的特点select缺点select使用示例pollpoll函数接口poll优点poll缺点poll示例epollepoll相关系统调用epoll

2022-04-18 15:12:58 1784 18

原创 Linux 网络基础(三)--网络层+数据链路层

网络层+数据链路层网络层ip协议协议头格式网段划分特殊的ip地址ip地址的数量限制私有ip地址和公网ip地址路由查看路由表数据链路层以太网以太网帧格式认识MAC地址对比MAC和IPMTUMTU对IP协议的影响MTU对UDP协议的影响MTU对TCP协议的影响回顾TCP协议查看硬件地址和MTUARP协议ARP协议的作用ARP协议的工作机制ARP协议的格式其他重要的协议/技术DNSDNS背景查找hosts文件域名介绍域名使用/连接使用dig工具分析DNS过程ICMP协议ICMP的功能ICMP的报文格式ping命令

2022-04-13 17:36:09 3048 10

原创 Linux 网络基础(二)---传输层

传输层端口号端口号划分常见的端口号查看知名端口号netstatpidofUDP协议udp协议端格式udp的特点面向数据报UDP的缓冲区UDP的使用注意事项基于UDP的应用层协议TCP协议TCP协议段格式确认应答(ACK)机制超时重传机制连接管理机制TIME_WAIT解决TIME_WAIT状态引起的bind失败的方法理解CLOSE_WAIT状态滑动窗口流量控制拥塞控制延迟应答捎带应答面向字节流粘包问题tcp异常情况tcp小结基于TCP应用层协议TCP与UDP对比用UDP实现可靠传输TCP相关listen的第二

2022-04-13 11:59:08 3081 6

原创 C++ 类型转换

2022-03-02 12:30:55 607 1

原创 Linux 网络基础(二)

网络基础再谈协议网络版计算器server.ccclient.ccprotocol.hppHTTP协议URLurlencode和urldecode通过套接字获取一个完整的http请求HTTP协议格式HTTP请求HTTP响应HTTP的方法GETPOSTHTTP状态码3XX重定向HTTP常见Header总结再谈协议协议是一种约定 socket api的接口,在读写数据时都是按字符串的方式来发送接受的(xml/json)序列化:将数据多变一的过程反序列化:将数据一变多的过程为什么需要序列化:方便网络的发

2022-02-28 20:12:33 1092 7

原创 C++ 智能指针

智能指针

2022-02-24 10:38:14 485

原创 C++ 异常处理

异常处理

2022-02-22 07:31:46 132

原创 Linux 网络编程套接字

网络编程套接字TCP/UDP

2022-02-21 16:14:03 1631

原创 C++11

C++11同一列表初始化initializer_listdecltype右值引用同一列表初始化初始化列表时,可以不添加等号struct Point{ int _x; int _y;};int main(){ Point p = { 1, 2 }; Point p{ 1, 2 };//可以不使用 '=' int x2{ 2 }; int* p = new int[4]{0}; int* p1 = new int[4]{1, 2, 3, 4}; return 0;}initi

2022-02-18 10:02:33 443

原创 Linux--网络基础

网络基础

2022-02-10 11:07:16 1650

空空如也

空空如也

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

TA关注的人

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