自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++11:异常的捕获和处理

异常是一种处理错误的方式,当一个函数发现自己无法处理的错误时就可以抛出异常,让函数的直接或间接的调用者处理这个错误。

2024-05-24 00:16:05 3946 228

原创 Linux:五种IO模型

IO其实就是“input”和“output” 尤其在网络部分,IO的特性非常明显!!

2025-05-26 16:17:49 2966 99

原创 Linux:网络层的重要协议或技术

   TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序. 但是IP地址不方便记忆.     于是人们发明了一种叫主机名的东西, 是一个字符串, 并且使用hosts文件来描述主机名和IP地址的关系.

2025-05-19 00:42:18 3234 110

原创 笔试强训:Day5

本文汇总了多个算法题目的解决方案,涵盖了哈希表、数学、动态规划、贪心算法、二分查找、滑动窗口、BFS、DFS等多种算法技巧。

2025-05-16 18:53:07 1253 95

原创 Linux:深入理解网络层

网络层在复杂的网络环境中确定一个合适的路径.传输到指定的网络中。

2025-05-12 00:38:44 3810 132

原创 笔试强训:Day4

改进版本:让lambda函数可以递归调用,需要用到function封装。利用返回值将树的高度带回,-1表示不是平衡二叉树。情况2:整个串都是回文 return n-1。情况3:整个串不是回文 return n。情况1:所以字符都一样 return 0。改进版本:将lambda作为参数。解法1:floodfill算法。解法2:并查集+lambda。利用引用将树的高度带回。

2025-05-09 00:21:09 1265 122

原创 Linux:深入理解数据链路层

1、主机的mac地址的ip地址会被主机缓存起来,临时缓存起来每台主机都维护一个ARP缓存表,可以用arp -a命令查看。缓存表中的表项有过期时间(一般为20分钟),如 果20分钟内没有再次使用某个表项,则该表项失效,下次还要发ARP请求来获得目的主机的硬件地址问题1:为什么要有缓存表呢??——>(1) 减少网络通信量:当主机需要发送数据到另一个IP地址时,它会首先检查ARP缓存表中是否已经存在该IP地址对应的MAC地址。

2025-05-05 13:47:34 5586 128

原创 笔试强训:Day3

解法1:定长滑动窗口。

2025-05-02 00:31:00 691 108

原创 Linux:TCP保证可靠性的方案(2)

根据冯诺依曼体系结构,网卡也算是外设,所以按道理来说发送方发送更多的数据,发送的效率也就更高!!窗口越大, 网络吞吐量就越大, 传输效率就越高. 我们的目标是在保证网络不拥塞的情况下尽量提高传输效率!

2025-04-28 00:39:06 4216 121

原创 笔试强训:Day2

解法1:计数 然后让长的先走 然后再一起走。解法2:贪心:把交易拆成一天一天。解法2:等价关系(数学特性)解法2:找规律+位图。

2025-04-25 00:34:37 815 124

原创 MySQL:事务如何让RC和RR修改了却看不到(MVCC)

多版本并发控制( MVCC )是一种用来解决读-写冲突的无锁并发控制

2025-04-21 00:24:13 2548 112

原创 笔试强训:Day1

笔试精炼

2025-04-18 00:26:45 1285 116

原创 MySQL:事务隔离级别和一致性

其中隔离级别越严格,安全性越高,但数据库的并发性能也就越低,往往需要在两者之间找一个平衡点。(这个平衡点不是mysql决定而是由场景和需求决定的,所以mysql不是为我们指定隔离方式,而是给我们不同的隔离方案让我们用户根据实际场景需求做选择)       

2025-04-14 00:14:49 4621 135

原创 MySQL:事务的理解

因为,MySQL里面存的是数据,所以很有可能会被多个客户访问,所以mysqld可能一次会接受到多个关于CURD的请求。(2)且mysql内部是采用多线程来完成数据存储等相关工作的,所以必然会存在对数据并发访问的场景      ——>会导致一些多请求并发可能产生的异常结果

2025-04-11 00:18:59 3446 115

原创 C++11:lambda表达式

lambda表达式是C++11的一个非常重要的一个语法,可以帮助我们简介代码,如果说右值引用是减轻了编译器的负担,那么lambda表达式就是减轻了程序员写代码的负担。

2025-04-07 00:22:19 2205 132

原创 MySQL:索引

索引:提高数据库的性能,索引是物美价廉的东西了。不用加内存,不用改程序,不用调sql,只要执行正确的create index ,查询速度就可能提高成百上千倍。但是天下没有免费的午餐,查询速度的提高是以插入、更新、删 除的速度为代价的,这些写操作,增加了大量的IO。所以它的价值,在于提高一个海量数据的检索速度。

2025-04-04 01:08:16 1781 129

原创 C++11:包装器(适配器模式)

function包装器也叫作适配器。C++中的function本质是一个类模板,也是一个包装器。 那么function包装器究竟是为了解决什么问题呢??C++11设置出来的初衷是什么呢??

2025-03-31 01:26:20 2825 123

原创 MySQL:内置函数+复合查询+表的内连和外连

任何时刻,查询出来的临时结构,本质上在逻辑上也是表结构   mysql一切皆表

2025-03-28 00:21:46 1085 129

原创 Linux:TCP保证可靠性的方案(1)

上一篇我们介绍了TCP的报头,但是很多可靠性的策略是在报头里体现不出来的!!比如说重传、流量控制……

2025-03-24 00:18:42 3743 145

原创 MySQL:表的增删查改

面试题:SQL查询中各个关键字的执行先后顺序 from > on> join > where > group by > with > having > select > distinct > order by > limit 

2025-03-21 00:33:56 1816 145

原创 Linux:UDP和TCP报头管理

1、报头和有效载荷是如何进行分离的??2、有效载荷应该交付给上层的那一个协议呢?(协议字段、方案)3、认识报头的组成4、学习协议的周边知识

2025-03-17 00:24:36 4489 141

原创 MySQL:MySQL库和表的基本操作

注意: 轻易不要做修改或者删除,表跟数据库一样,在所有的业务处理过程中都靠近底层、后端,所以表结构、表名称、表是否存在等修改直接决定了所有使用该数据库的上层要不要改变!!作为一个程序员来说,如果一旦开发了很长时间且表结构已经建好了,一旦在后期出现了需要修改表结构的情况,那么整个上层的业务逻辑可能都需要被改变!!因此这样的影响是非常巨大的! 

2025-03-12 00:18:40 2228 136

原创 Linux:HTTPS协议原理

不是有了HTTP了吗??为什么还要有HTTPS呢??——>HTTPS也是一个应用层协议,是在HTTP协议的基础上引入的一个加密层,他的产生是由于HTTP协议内容都是按照文本的形式明文传输的,这就导致在传输过程中可能会出现被人篡改的问题!!

2025-03-10 00:25:35 5605 150

原创 MySQL:表的约束

没有约束,就像我们平时往文件里写入,想怎么写就怎么写,完全取决于你的意志,但是我们为了让用户在数据库中安全的插入数据,无论你是编程小白的误操作还是编程大佬的恶意操作,我们都要想办法通过约束进行拦截(比如给年龄的一列插入了性别,身高的一列插入了体重,qq号那列插入了邮箱),来保证我们数据库内数据的合法性。(编译器其实也算是一种约束,你如果语法写错了会给你报错,所以经过编译器的代码虽然逻辑可能有问题,但是至少在语法是没有问题的)

2025-03-07 00:17:42 1704 158

原创 Linux:Http协议

平时我们俗称的 "网址" 其实就是说的 URL-统一资源定位符

2025-03-03 00:23:06 4519 151

原创 MySQL:MySQL的数据类型

集合查询使用find_ in_ set函数: find_in_set(sub,str_list) :如果 sub 在 str_list 中,则返回下标;如果不在,返回0; str_list 用逗号分隔的字符串。

2025-02-28 00:18:16 1995 131

原创 Linux:自定义协议+序列反序列化

(1)我们都知道TCP是双加工的,所以在内核中存在着发送缓冲区和接受缓冲区,而我们write是写入发送缓冲区的,read是从接受缓冲区里读的,所以我们会发现这两个函数其实就是拷贝函数!!write将数据从用户层拷贝到内核层就返回,read将数据从内核层拷贝到用户层就返回,意思就是我用户不管,反正我把数据都交给你OS了,发送过程中的可靠性由你来维护。(就像当年我们只需要将内容写到文件内核缓冲区,而由OS来决定什么时候,以什么方式刷新到磁盘上) 

2025-02-24 00:16:53 5486 137

原创 MySQL:安装和MySQL基础

  说明:安装与卸载的过程中,用户全部切换成root,等初期完全适应mysql语句的时候,再尝试创建普通用户!!

2025-02-21 00:18:52 3933 130

原创 Linux:TCP和守护进程

服务端在我们ctrl c或者关掉xshell的时候就会被杀死,但是我们希望无论如何这个服务端是一直在跑的!!所以我们必须守护进程!

2025-02-17 00:18:34 6561 131

原创 剑指offer第2版:搜索算法(二分/DFS/BFS)

搜索的过程,本质就是排除!!!

2025-02-11 16:56:59 4826 127

原创 Linux:网络编程套接字及UDP

问题1:在进行网络通信的时候,是不是我们的两台机器在进行通信呢??——>思考一下我们打开qq软件,他属于应用层,完成了数据的发送和接受……

2025-02-10 00:29:29 5101 102

原创 Linux:宏观搭建网络体系

1、局域网通信的本质就是把数据交给路由器2、IP协议屏蔽了底层网络的差异化,靠的就是工作在IP的路由器!!3、IP实现了全球主机的软件虚拟层,一切皆是IP报文

2025-02-03 11:07:44 7759 107

原创 Linux:线程池和单例模式

线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价(用空间换时间的一种策略)。

2025-01-27 10:15:09 7885 117

原创 Linux:生产者消费者模型

现实生活中,我们也会有像生物世界的生产者和消费者的概念,但是我们的消费者在大多数情况下并不和生产者直接联系,就比如说食物,不能说我今天去找供货商要十个面包,然后我还得在那等他把十个面包生产完了再走,虽然这对于生产者来说有多少需求就供应多少节约了成本,但是对于消费者来说却浪费了很多时间,我们作为消费者肯定希望我们去买的时候就能够买到,因此这个时候我们需要一个中间场所——超市,供应商可以一次性先生产一部分面包,然后把他摆到超市的货架上,这样消费者来拿的时候就可以直接拿了! 而当货架上快空了的时候,超市可以告知消

2025-01-20 07:38:22 6259 104

原创 剑指offer第2版:树系列(一)

关于树系列

2025-01-17 00:48:19 1351 81

原创 Linux:线程的互斥与同步

多个线程并发的操作共享变量,会带来一些问题。

2025-01-13 00:27:04 4240 93

原创 Linux:线程控制

在Linux中,内核中并没有很明确的线程概念,而是只有轻量级进程的概念!!因此OS并没有给我们提供线程的系统调用,只会给我们提供轻量级进程的系统调用——>可是我们的用户只认识线程而不认识什么轻量级进程啊!!而且使用起来的学习成本也很高啊! 因此就有大佬在应用层为轻量级进程接口进行封装,为用户提供直接的线程接口(pthread线程库)

2025-01-06 00:25:58 4174 120

原创 Linux:线程的概念

线程:进程内的一个执行分支,他的执行粒度比进程要细

2024-12-30 00:05:20 4978 169

原创 同步&异步日志系统:设计模式

设计模式是前辈们对代码开发经验的总结,是解决特定问题的⼀系列套路。它不是语法规定,⽽是⼀ 套⽤来提⾼代码可复⽤性、可维护性、可读性、稳健性以及安全性的解决⽅案。

2024-12-27 00:55:19 2384 139

原创 C++11:新特性&右值引用&移动语义

在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为C++11之前的最新C++标准名称。不过由于C++03(TC1)主要是对C++98标准中的漏洞进行修复,语言的核心部分则没有改动,因此人们习惯性的把两个标准合并称为C++98/03标准。从C++0x到C++11,C++标准10年磨一剑,第二个真正意义上的标准珊珊来迟。

2024-12-23 00:40:11 2246 136

空空如也

空空如也

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

TA关注的人

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