- 博客(36)
- 收藏
- 关注
原创 mysq进化
本文介绍了MySQL存储引擎和索引的核心知识。存储引擎部分对比了InnoDB、MyISAM和Memory的特点,重点说明InnoDB支持事务、行锁等优势。索引部分详细讲解了B+Tree数据结构原理,分类包括主键、唯一、常规索引等,并分析了聚集索引和二级索引的区别。此外,提供了索引创建、查看和删除的语法,以及SQL性能优化方法,如慢查询日志、索引使用规则(最左前缀法则)、覆盖索引和前缀索引等。最后给出了插入数据、主键设计和排序的优化建议。全文系统性地总结了MySQL存储和索引的关键技术点。
2025-06-04 12:04:55
755
原创 数据库基础篇
MySQL数据库作为流行的关系型数据库管理系统,其基础操作分为服务管理、客户端连接和SQL语法三部分。服务管理可通过命令启动或停止MySQL服务,客户端连接使用指定参数的命令行工具实现远程或本地访问。SQL语言分为四大类:DDL用于定义数据库对象结构,DML处理数据增删改操作,DQL实现复杂查询功能,DCL管理权限控制。实际操作中常使用分页查询优化数据展示,聚合函数完成统计计算,条件表达式进行精准筛选。SQL语句遵循分号结尾的语法规范,并支持两种注释方式增强可读性。这些核心功能构成了MySQL数据库的基础操
2025-06-04 11:59:41
982
原创 Servlet+tomcat
本笔记总结了 Servlet 的基本概念、生命周期、请求转发及数据共享机制;解析了 Tomcat 的连接器(Coyote)与容器(Catalina)架构,说明了四级容器模型和启动流程;补充了 server.xml、web.xml 等配置说明,并深入讲解了基于 WebSocket 的聊天系统实现,包括用户会话管理、消息广播与私聊处理机制。
2025-05-03 18:26:45
1337
原创 SpringClode
微服务架构通过拆分业务模块为独立服务,实现高内聚低耦合,具备单一职责、技术自治、数据独立等特征。Spring Cloud提供完整生态:Nacos作为注册与配置中心,管理服务发现与动态配置;Feign声明式调用简化远程通信;Gateway统一路由、鉴权与限流。异步通信依托RabbitMQ,支持工作队列与发布订阅模型,提升系统解耦与吞吐量。Elasticsearch基于倒排索引实现分布式搜索,结合IK分词器优化中文检索。全链路采用Docker容器化部署,保障环境一致性,结合Nginx负载均衡与集群方案,构建高可
2025-04-30 12:30:45
960
原创 redis 进阶
Redis 7是一款基于内存的键值(KV)数据库,采用C语言编写,支持持久化、高可用架构(如主从、哨兵、集群)及分布式锁等特性,常作为MySQL前置的分布式缓存。其性能迭代包括客户端连接优化、AOF增强、访问控制列表(ACL)及底层架构改进。安装时需Linux 64位环境,通过编译源码并配置后台运行、远程访问及密码保护,核心工具涵盖服务端、客户端及持久化文件校验功能。Redis支持10种数据类型,包括字符串、列表、哈希等基础结构,以及地理位置(Geo)、基数统计(HyperLogLog)、位图(BitMap
2025-04-12 18:30:43
713
原创 REDIS--入门篇章
Redis 7是一款基于内存的键值(KV)数据库,采用C语言编写,支持持久化、高可用架构(如主从、哨兵、集群)及分布式锁等特性,常作为MySQL前置的分布式缓存。其性能迭代包括客户端连接优化、AOF增强、访问控制列表(ACL)及底层架构改进。安装时需Linux 64位环境,通过编译源码并配置后台运行、远程访问及密码保护,核心工具涵盖服务端、客户端及持久化文件校验功能。Redis支持10种数据类型,包括字符串、列表、哈希等基础结构,以及地理位置(Geo)、基数统计(HyperLogLog)、位图(BitMap
2025-04-06 12:20:36
981
原创 计网学习———网络安全
网络安全通过分层防护应对安全威胁,包括主动攻击(篡改、DDoS)和被动攻击(窃听)。核心安全服务涵盖保密性、完整性、实体鉴别等,依托密码学机制实现:对称加密(AES/DES)保障高效传输,非对称加密(RSA)与数字签名解决密钥分发及身份验证,报文摘要(SHA/MD5)和MAC确保数据防篡改。各网络层针对性防御——物理层信道加密、数据链路层802.11i协议双向鉴别、网络层IPsec加密隧道、传输层SSL/TLS加密会话、应用层PGP签名加密。防火墙通过分组过滤和应用网关控制访问,入侵检测系统(IDS)结合
2025-03-05 20:38:23
2084
1
原创 计算机网络学习————(五)TCP/IP学习
TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,主要用于在网络中可靠地传输数据。它通过三次握手建立连接,确保数据的有序传输和重复报文的自动丢弃。TCP还具备流量控制和拥塞控制机制,以应对网络中的速度不匹配和拥塞问题。TCP的报文段包含源端口、目的端口、序列号、确认号等信息,确保数据的可靠传输。 IP协议则是无连接的、非可靠的网络层协议,负责将数据包从源地址传输到目的地址。它支持广播和组播,并通过ARP协议实现IP地址与MAC地址的转换。IPv4地址短缺问题通过NAT技术解决。
2025-03-02 16:00:21
860
原创 HTTP学习——————(四)TLS等加密算法
TLS(传输层安全协议)旨在提供网络通信中的身份验证、保密性和完整性。它通过记录协议和握手协议实现这些目标,其中记录协议负责数据的对称加密,而握手协议则处理双方的身份验证、安全套件的选择及加密参数的协商。在TLS中,使用多种算法组合以增强安全性,包括密钥交换算法、身份验证算法、对称加密算法以及签名哈希算法。对于对称加密,AES等算法通过不同的分组工作模式(如ECB、CBC、CTR)确保数据的安全性,同时采用填充技术适应不同长度的明文。非对称加密,如RSA,用于密钥交换和数字签名,提供了更强的身份验证能力。为
2025-02-28 11:57:28
1348
原创 计算机网络————(三)
WebSocket协议是基于TCP的双向通信机制,支持服务器主动推送消息,减少客户端轮询需求。它通过HTTP握手启动连接,使用Sec-WebSocket-Key与Sec-WebSocket-Accept确保安全升级至WebSocket。数据帧设计精细,包括FIN位、Opcode等,支持文本和二进制传输,利用掩码防止代理缓存攻击。Ping/Pong帧维持心跳,关闭帧优雅断开连接。适用于实时性要求高的应用如聊天和推送服务,有效降低通信延迟并提升效率。
2025-02-25 14:29:12
1006
2
原创 计网学习————(二)
HTTP协议通过连接管理、Host头部和缓存机制优化通信效率,使用Cookie、CORS和CSRF防御保障安全。DNS递归查询从客户端到权威服务器解析域名,支持多种记录类型如A、AAAA,并利用压缩技术减少带宽使用。两者均能通过WireShark进行网络行为分析,以进一步优化性能和诊断问题。
2025-02-24 19:02:57
876
原创 计算机网络————(一)HTTP讲解
TCP/IP协议栈是网络通信的基础,分为应用层、传输层、网络层和数据链路层。应用层包括HTTP/1.1、Websocket和HTTP/2.0等协议,用于数据传输和通信。传输层主要使用TCP协议,确保数据的可靠传输。网络层和数据链路层则负责IP地址和物理介质的处理。HTTP协议是无状态的,采用请求/响应模式,支持多种方法如GET、POST等。URI用于标识资源,包含协议、主机、路径等部分。网络分层简化了设计,但可能影响效率。浏览器加载过程包括解析HTML、加载资源、执行脚本等步骤。
2025-02-22 20:40:21
2035
原创 Docker学习进阶
确保微服务架构畅通我正在查看如何使用IDEA创建一个SpringBoot微服务模块,并且使用Maven进行打包和构建。这样做可以确保微服务架构的完整性和开发效率。流程规划设置IDEA中的SpringBoot模块,采用Maven打包。确保微服务构建的流畅性和高效性。配置SpringBoot和Maven我正在配置IDEA内的SpringBoot模块,使用Maven进行打包,确保模块结构清晰,依赖正确。这个过程让我思考持续集成的重要性。Docker微服务实战涉及以下关键步骤:构建微服务镜像:使用Sp
2025-02-19 17:52:13
730
原创 Docker学习
是一个C/S模式的架构,后段是一个松耦合结构,众多模块各司其职。工作详细步骤:1.在客户端发送/Docker Client与后段守护进程/Docker Daemon建立通信,并发送请求给后者。2.守护进程作为架构的主题部分,首先提供服务的功能让他能接受客户端的请求。3.Docker Engine 执行Docker内部的一系列工作,每一项工作都是以job的形式存在。4.Job的运行过程当需要容器镜像时候,则从Docker Registry/仓库将镜像以Graph的形式存储。
2025-02-15 11:25:27
1093
4
原创 操作系统学习之线程
每个用户进程有m个内核级线程————当一个内核级线程被阻塞了另外一个内核级线程任然可以运行。————只有所有内核级线程被阻塞了才可以说这个进程被阻塞了。————这种只是在KTL中的线程库和进程之间插入了一个内核级线程。可以这么理解:用户级线程————代码逻辑、内核级线程(只有整个才是处理及分配的单位即CPU执行整个线程)————运行机会。线程概念:是一个基本的CPU执行单元,也是程序执行流的最小单位————轻量级进程。两个最小:线程是最小的调度单位————进程是最小的资源分配单位。
2025-01-01 16:32:03
564
原创 LeetCode每日简单一题——349 两个数组的交集
思路: 1.从两个数组里面选择一个去掉其中的重复的值,再用另一个的每个都去搜索一篇 2.使用Map类型去存储数据就可以直接调用了。输出结果中的每个元素一定是 唯一 的。我们可以不考虑输出结果的顺序。给定两个数组 nums1 和 nums2 ,返回它们的交集。
2024-12-31 20:10:15
98
原创 hanoi 塔的思路(递归的思路)
如上图我们拿n=4举例 若我们想要将n=4的所有方块从A移动到C 那我们不妨将n=3的时候的所有方块看成一个整体即F(3)所以我们F(4)=F(3)+1+F(3)即如下图为F(3)+1的步骤再加一个F(3)是为了从B移动到C。而F(3)的所有步骤因为视为如下即F(3)=F(2)+1+F(2)下图为F(2)+1再把B的所有移动到A此时的A改为B就成为了F(3)里面的需要的B了。所以综上我们可以得到如果我们需要F(n)那么F(n)=F(n-1)*2+1 而F(2)=3所以可以写出一个递归。而.
2021-10-10 20:58:36
178
原创 DFS和BFS的个人理解
大概讲解个人理解:BFS是关于从一个点出发然后走到下一个节点(所有节点都记录)然后对比有无所需要节点,若果没有则进行下一步(重复上面的步骤直到找到所需要的那个节点)从上面图来表示的话就是用从起点开始先检查ABC是否是所需要的如果不是则换第二梯度DEF因为BC没有下一梯度则认为该分支结束,检查第二梯度有没有合适的如果还是没有则第三梯队。如果上面存在双向的就是F也和B相连接那么F可能会到B但是我们因为判断机制中设置只能从大的往下的走所以不会存在重复的步骤,因此就可以得到最简的数量。所以我们知道BFS的优.
2021-10-03 23:28:10
168
原创 C语言关于typedef对结构体的用法的用法
typedef struct S{int a ;int v ;}* a,S;这个typedef的意思是指1.直接将struct S 变为S(缩写了/或者可以说是更改了一个姓名但是不改变性质)。2.这个typedef struct S *a 表示将一个struct S *的指针名字更改为a了。所以此时的a代表了一个结构体指针的名字。目前只遇到这几种情况。...
2021-10-02 17:53:01
446
原创 蓝桥杯算法提高-能量项链
题目——以及输入输出思路:(1)题目规定给定的数字,不能改变其位置所以不能排序,不然会改变最后大小值。(2)所以我们选择使用吞掉最小值的方法,即将最小值吞并然后变为0。(因为如果每一个乘中都含有最小值那么无论怎么乘都还是比较小而当我们将最小值乘掉再去弄一个比这值大的数那么我们就可以得到一个较大的值了)(3)所以我们首先找出所有数字里面的最小值然后用相邻的两个乘,该数字放在中间乘掉化为0....
2021-09-30 21:21:39
146
原创 蓝桥杯 K-进制数(思路)
**蓝桥杯 K-进制数(思路)**题目描述考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0.考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0.例:1010230 是有效的7位数1000198 无效0001235 不是7位数, 而是4位数.给定两个数N和K, 要求计算包含N位数字的有效K-进制数的总数.假设2 <= K <= 10; 2 <= N; 4 <= N+K <= 18.输入
2021-09-29 23:48:12
220
原创 super的使用
关于Super()的用法1.Super()只能用在子类的构造方法中使用,在其它地方使用存在编译错误。2.super()构造的父类只有在子类中有效,离开子类无法使用。3.super.的调用的是由在子类构造的时候使用了super()的无参或者有参构造出来的父类。public class Main{ public static void main(String[] args) { Cat c1 = new Cat(3); System.out.println( ",年龄:" + c1.
2021-06-28 21:20:28
3150
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人