momo小菜pa
码龄2年
关注
提问 私信
  • 博客:110,825
    110,825
    总访问量
  • 119
    原创
  • 9,272
    排名
  • 1,578
    粉丝
  • 学习成就

个人简介:momo

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2023-02-21
博客简介:

2301_76618602的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    5
    当前总分
    1,751
    当月
    12
个人成就
  • 获得2,511次点赞
  • 内容获得528次评论
  • 获得2,362次收藏
  • 代码片获得396次分享
创作历程
  • 83篇
    2024年
  • 36篇
    2023年
成就勋章
TA的专栏
  • Linux学习
    46篇
  • C++
    27篇
  • MySQL
    10篇
  • 数据结构与算法
    13篇
  • C语言学习详解
    19篇
兴趣领域 设置
  • 编程语言
    javac++c语言
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

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

简单的递归

解题思路:据提示信息,使用暴力循环是一定会超时的。我们可以使用快速幂算法解决这道题目(实现快速幂有两种方法,1.递归 2.循环,在这里我们就用递归的方法实现了。1.我们想要求3^16我们可以先求出3^8,如果该数是偶数,那么他就是下面数的平方,如果该数是奇数,那么他就是下面数的平方再乘底数,这个就是快速幂算法的核心思想。这种实现方式相比简单的循环计算x的n次幂要高效得多,特别是当n非常大时。因为每次递归调用,n的值都会减半,所以递归的深度是O(log n),而不是O(n)。
原创
发布博客 2024.10.22 ·
759 阅读 ·
9 点赞 ·
0 评论 ·
27 收藏

C++ push_back和emplace_back

push_back和都是用于在容器(如std::dequepush_backpush_backpush_back。
原创
发布博客 2024.10.21 ·
272 阅读 ·
10 点赞 ·
0 评论 ·
6 收藏

C++ decltype

可能不足以明确表达我们想要的类型,特别是当我们需要引用类型、保持值的类别(左值或右值)或者处理函数调用的返回类型时。,并且没有正确地指定返回类型,可能会导致类型不匹配的错误,特别是在涉及到类型转换、模板特化或重载解析的情况下。提供了强大的类型推导能力,但在某些情况下,特别是涉及到复杂类型推导和模板编程时,使用。提供了一种强大的机制来查询和操纵类型,这在设计泛型库时尤其重要。是一个函数调用表达式,其返回类型可能不是显而易见的,特别是当。:在模板编程中,经常需要基于类型进行复杂的计算和推导。
原创
发布博客 2024.10.21 ·
345 阅读 ·
14 点赞 ·
0 评论 ·
1 收藏

【MySQL 10】索引

当MySQL需要读取数据时,它首先会检查其内存中的缓存池,如果所需数据不在缓存池(Buffer Pool)中,MySQL会向操作系统发出请求,操作系统随后从磁盘中读取数据,OS向磁盘中读取数据到文件缓冲区中,直到16KB,然后MySQL从文件系统缓存中将其复制到其内部的缓存池中。磁盘是计算机中的一个机械设备,相比于计算机其他电子元件,磁盘效率是比较低的,在加上IO本身的特征,可以知道,如何提交效率,是 MySQL 的一个重要话题。0和1的表示:在机械磁盘中,0和1是通过磁盘表面磁性材料的磁场方向来表示的。
原创
发布博客 2024.10.10 ·
1058 阅读 ·
29 点赞 ·
4 评论 ·
33 收藏

【MySQL 09】表的内外连接

但是从上表可以看出,并不是每个学生都有成绩,但是我们也是要把没有成绩的学生也显示出来。由于员工名字在emp中,部门名称在dept中,因此我们需要对两表先做笛卡尔积,形成一张大的表,再从大的表中筛选出符合条件的。对stu表和exam表联合查询,把所有的成绩都显示出来,即使这个成绩没有学生与它对应,也要显示出来。我们理解了左外连接,那么右外连接也就能理解了,就是以右表为主,左边表没有符合条件的,那么就填NULL。可见内连接,只显示两表交集部分,因为只有1号和2号学生才有成绩,所以只显示1,2。
原创
发布博客 2024.10.05 ·
1061 阅读 ·
14 点赞 ·
1 评论 ·
9 收藏

【MySQL 08】复合查询

数学上,有两个集合A={a,b},B={1,2,3},则两个集合的笛卡尔积={{a,1}, {a,2}, {a,3}, {b,1}, {b,2}, {b,3}} 列出所有情况,一共是2*3=6条记录;
原创
发布博客 2024.10.04 ·
1297 阅读 ·
17 点赞 ·
3 评论 ·
14 收藏

【MySQL 07】内置函数

函数被用来生成一个介于 0 和 1 之间的随机浮点数。这个数是一个大于或等于 0 且小于 1 的数,其精度可以达到小数点后很多位。要求显示exam_result表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX分”函数将转换后的小写首字母与剩余的姓名部分连接起来,形成新的字符串。如果条件为假(FALSE),则返回第二个值。函数是MySQL中用于将字符串转换为小写的标准函数。列中提取从第二个字符开始到末尾的所有字符。,则返回第一个参数的值;列中提取每个员工姓名的第一个字符。
原创
发布博客 2024.10.03 ·
1059 阅读 ·
27 点赞 ·
1 评论 ·
14 收藏

【MySQL 06】表的增删查改

这种语句非常有用,特别是当你需要将一个表中的数据复制到另一个表中,或者需要将多个表的数据合并到一个表中时。如果你不指定更新的字段,那么就是用之前的值,在这里并没有指定sn,那么sn就使用原来的值。建议:对未知表进行查询时,最好加一条 LIMIT 1,避免因为表中数据过大,查询全表数据导致数据库卡死。将表中所有数据全部读出来,但在数据庞大的场景下不会这么使用,如公司的数据库中。注意:没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序。像这样,不进行分组,查的就是全公司的情况了。
原创
发布博客 2024.10.02 ·
1583 阅读 ·
31 点赞 ·
1 评论 ·
21 收藏

【MySQL 05】表的约束

换句话说,主键列的值必须是唯一的,不能重复,并且表中的每一行都必须有一个主键值(尽管这个值可以是NULL,但在实际使用中,通常不会将主键设置为允许NULL,因为这样会失去主键的唯一性意义)。默认值:某一种数据会经常性的出现某个具体的值,可以在一开始就指定好,在需要真实数据的时候,用户可以选择性的使用默,使用关键字default。我们可以简单理解成,主键更多的是标识唯一性的。给student插入数据,我们选择课程id为1,2的时候,是可以插入成功的,插入其它id号,就会发生外键约束,MySQL拦截此操作。
原创
发布博客 2024.09.25 ·
875 阅读 ·
21 点赞 ·
4 评论 ·
30 收藏

【MySQL 04】数据类型

而且出于效率考虑,这些值实际存储的是“数字”,因为这些选项的每个选项值依次对应如下数字:1,2,4,8,16,32,....最多64个。在不同的编码下,字符所占的字节数都是不固定的:UTF-8 编码的字符可能占用1到4个字节,而 GBK 编码的字符大多数情况下占用2个字节,但也可能占用更多或更少的字节。有一个调查表votes,需要调查人的喜好, 比如(登山,游泳,篮球,武术)中去选择(可以多选),(男,女)[单选]类型提供精确的小数表示,这意味着它可以存储的数值具有完全的可预测性和准确性,不会有。
原创
发布博客 2024.09.24 ·
855 阅读 ·
40 点赞 ·
5 评论 ·
20 收藏

【MySQL 03】表的操作

这样我们就创建好了一张表,我们可以进入hellosql目录下进行查看:所以在数据库内建立表,本质就是在Linux下创建对应的文件。不同的存储引擎,创建表的文件不一样。因为这样改是覆盖之前的,所以在修改的时候记得重新加上描述。实际就是先删除整张表,然后重新创建这个表,以达到清空数据的效果。存储引擎不同,表结构数量也不一样,未来会对索引和事务造成影响。这样的显示看着很不舒服,;after 后面表示放在指定字段的后面。
原创
发布博客 2024.09.22 ·
563 阅读 ·
5 点赞 ·
1 评论 ·
9 收藏

【MySQL 02】库的增删查改及备份还原

可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能的数据库被人入侵了。如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。选择合适的字符集可以确保数据库能够支持所需的字符范围,而选择合适的校验规则则决定了数据库中字符数据的排序和比较方式。将指定数据库备份到指定的路径下,该操作不仅备份数据,而且将该数据库下进行的所有的有效操作都进行了备份。如果备份的不是整个数据库,而是其中的一张表,怎么做?
原创
发布博客 2024.09.22 ·
1332 阅读 ·
20 点赞 ·
0 评论 ·
27 收藏

【MySQL 01】数据库基础

数据库管理系统(如MySQL)提供了一套高级接口(如SQL语言),mysqld就会根据SQL语言,在数据库文件中给用户做增删查改,最后将结果返回给mysqld,mysqld再将结果交给用户。(eg:比如我想在百万行的IP地址中,找出所有以127开头的IP地址,这种情况下,数据库只需要给出指定的命令就可以了,但是文件操作并没有这么方便)MySQL的默认端口号是3306,如果您使用的是默认端口号,也可以省略这个选项。一般指的是,在磁盘或者内存中存储的特定结构组织的数据--将来在磁盘上存储的一套数据库方案。
原创
发布博客 2024.09.21 ·
1283 阅读 ·
32 点赞 ·
5 评论 ·
21 收藏

Linux--IO模型_多路转接

1. 阻塞IO模型特点:在阻塞IO模型中,应用程序发起一个IO请求后会一直阻塞等待操作完成,直到数据准备好或者超时才返回结果。在等待IO完成期间,应用程序会处于阻塞状态,无法执行其他任务。典型应用:阻塞socket、Java BIO等。优点:实现难度低,开发应用较容易。缺点:不适用并发量大的应用,因为每个请求IO都会阻塞进程,需要为每个请求分配一个处理进程(线程),系统开销大。2. 非阻塞IO模型特点:应用程序发起一个IO请求后会立即返回,无需等待操作完成。
原创
发布博客 2024.08.30 ·
1219 阅读 ·
21 点赞 ·
2 评论 ·
35 收藏

Linux——IO模型_多路转接(epoll)

一旦网卡中有数据了,网卡同个中断交给OS,接着网络协议栈就拿到数据了,所以在输入和输出缓冲区里有没有数据,OS是很清楚的,OS在缓冲区中设置回调方法,该回调方法就是epoll_ctl构建的。底层一旦有数据就绪并且是用户关心的,此时OS就会调用回调方法构建就绪队列的结点,填充清楚,是哪一个fd的什么事件已经就绪了,并连入就绪队列。只能循环读取,知道读不到数据,循环读取肯定是会遇到阻塞问题的,epoll当然是不敢阻塞的,否则进程会被挂起,因此fd必须是非阻塞的。进行增加,删除,修改操作。
原创
发布博客 2024.08.30 ·
1179 阅读 ·
29 点赞 ·
3 评论 ·
26 收藏

Linux--NAT,代理服务,内网穿透

在公司内服务器部署了一个登录服务,端口22,此时我也在中转服务器上也部署了一个服务端口8888,只不过小李访问服务器的xxx:8888服务,服务器会直接寻找并启动公司内部的shh:22的登录服务。左侧在内网中唯一的,右侧则是在公网中唯一,那么左侧和右侧是互为键值的,服务器做应答的时候就可以反向查表,发送给内网中的主机。),因为服务器可以向对应的客户端发消息,此时又拿到了两个客户端的信息,那么服务器是否能作为中转站将两个客户端的IP和port,分别发给对方,那么两个客户端就都知道对方的IP和port了(
原创
发布博客 2024.08.24 ·
973 阅读 ·
21 点赞 ·
0 评论 ·
26 收藏

Linux--数据链路层(mac&&arp)

若此时A向E发送了消息,F向C发送了消息,那么交换机不会把交给E的消息给i1一侧了,交给F的消息也不会被转发给i0一侧了,这样就避免了两台主机的数据碰撞了,因为他们两个的数据在不同的区域内,在发送数据的时候,(src会带上自己的mac地址,dst是目的机的mac地址,data:发送的数据)会将发送的通过数据网络协议栈变成数据帧,然后通过局域网发送到局域网中,局域网的主机都能收到,主机会通过mac地址判断是不是自己的消息,如果是自己的消息,就会接收处理消息,最终以同样的方式发送回去。
原创
发布博客 2024.08.24 ·
1286 阅读 ·
28 点赞 ·
0 评论 ·
21 收藏

Linux--网络层 IP协议

经过精心的设计,合理的划分,可以高效支未来的报文路径查找,大大提高查找目标主机的效率:将网络划分为多个子网后,每个子网内部的通信不需要经过路由器(在广播域内),这样可以减少路由器上需要维护的路由表项数量。找不到偏移量为0的(没有前面部分),找不到更多分片==0的(没有后面部分),中间部分:将收到的片报文进行排序,因为第一分片的偏移量+自己的长度(除去报头:1500-20)=下一个分片的偏移量,如果没有对应的偏移量,那么就证明丢失了,而且丢失了哪一片也能知道。IP标识网络中主机的唯一性,指的是公网IP;
原创
发布博客 2024.08.22 ·
1197 阅读 ·
35 点赞 ·
9 评论 ·
40 收藏

Linux--传输层协议TCP

如果说有人把建立连接设置成一次握手,那么如果有一台机器给服务器发送大量的SYN报文(一个客户端给服务器发送大量的SYN,我们称为SYN洪水),对于客户端来说几乎没什么成本,此时服务器就被挂满了大量的连接,而且这些连接不会被使用,一次连接占一点资源,多次下来,导致服务器的资源越来越少,这就会导致资源的浪费。如果发送了1000个报文只接受了1个报文,丢了999个报文,因为TCP有滑动窗口的机制,他知道服务器能接收多少报文,所以不可能是服务器的问题,一定是网络出现了很大的问题。那么接收方ACK的确认序号怎么填?
原创
发布博客 2024.08.19 ·
1173 阅读 ·
10 点赞 ·
0 评论 ·
26 收藏

Linux--传输层协议UDP

负责数据能够从发送端传输接收端.
原创
发布博客 2024.08.15 ·
1283 阅读 ·
18 点赞 ·
1 评论 ·
17 收藏
加载更多