- 博客(40)
- 收藏
- 关注
原创 CMD常见命令
Windows CMD命令总结:包含基础操作(help、cls)、文件管理(dir、cd、copy/del)、系统信息(tasklist、ipconfig)、磁盘管理(chkdsk)、批处理(echo、pause)等常用命令。实用技巧:Tab键补全、方向键调历史命令、重定向输出(>)。掌握这些命令可提升Windows系统管理效率,通过 命令/? 可查看详细参数说明。
2025-08-21 00:31:39
1935
原创 计算机网络速成笔记7.网络层:数据平面(上)
网络层数据平面主要负责分组转发和路由选择。转发是在路由器本地将分组从输入接口转移到相应输出接口的硬件操作,而路由选择是通过软件算法确定端到端路径的网络范围处理过程。传统方法通过路由选择协议交换信息更新转发表,SDN方法则由远程控制器计算和分发转发表。路由器由输入端口、交换结构和输出端口等硬件组件构成,采用最长前缀匹配原则进行转发决策。交换结构可采用内存、总线或互联网络方式实现。当流量超载时会出现排队和丢包现象,分组调度可采用FIFO、优先权或公平排队等策略。
2025-08-20 01:01:14
578
原创 153. 寻找旋转排序数组中的最小值__一种歪打正着的神奇做法
摘要:本文介绍两种在旋转排序数组中寻找最小值的二分查找解法。第一种解法通过比较中间值与右端点调整搜索区间,第二种解法则比较中间值与数组首元素。核心思路都是利用二分查找定位旋转点,其中第二种解法通过取模运算处理边界情况。两种方法的时间复杂度均为O(logn),空间复杂度为O(1)。以[4,5,6,7,0,1,2]为例,算法能正确返回最小值0。
2025-08-17 22:52:29
377
原创 在CentOS7上安装RabbitMQ(无脑版)
在CentOS上安装RabbitMQ的简明步骤:1)先安装Erlang依赖并配置仓库;2)添加RabbitMQ仓库后安装主程序;3)启用并启动服务;4)可选配置包括启用管理插件、创建管理员账户;5)配置防火墙开放5672(AMQP)和15672(管理端口);6)通过浏览器访问http://服务器IP:15672使用设置的管理员账号登录。整个过程包含基本安装和可选的管理功能配置。
2025-08-17 01:01:43
187
原创 数据结构学习——用C实现简易计算器
摘要:本文介绍了一个基于栈结构的表达式求值器实现方案。该系统采用双栈设计(操作数栈NS和操作符栈OS),通过数组实现,支持加减乘除和括号运算。核心功能包括:操作数栈管理浮点数(pushNS/popNS),操作符栈处理运算符优先级(pushOS/popOS),以及计算函数calculate执行四则运算。输入处理模块getop负责识别数字和运算符,主程序通过运算符优先级和括号匹配规则完成表达式解析。系统能处理如"3*(4+5)"等表达式,在遇到换行符时输出最终结果。边界条件包括栈溢出/下溢检
2025-08-17 00:39:30
953
原创 数据结构学习——用C实现二叉排序树
本文介绍了二叉排序树(BST)的基本概念和操作实现。二叉排序树是一种特殊的二叉树,满足左子树结点值小于根结点、右子树结点值大于根结点的性质。文章详细阐述了BST的插入、查找和删除操作原理,并分析了其平均时间复杂度为O(logn)的性能特点。同时提供了C语言实现代码,包括创建二叉排序树、插入结点和中序遍历等功能,通过随机数生成测试数据展示BST的实际应用。
2025-08-15 22:01:01
612
原创 GitHub宕机对团队协作的影响与解决方案
摘要:GitHub宕机应对策略包括建立本地备份(git bundle)、搭建临时Git服务器、跨平台镜像同步(GitLab/Bitbucket)及离线协作方案(patch/rsync)。关键措施为多活仓库架构、定期容灾演练和自动化监控,通过分布式版本控制降低平台依赖风险,确保代码资产可恢复。建议将备份机制纳入DevOps流程。
2025-08-15 21:57:39
346
原创 计算机网络速成笔记6.运输层(下)详解TCP
TCP协议通过可靠数据传输、流量控制和拥塞控制机制确保网络通信的稳定性。其核心包括:发送方通过序列号、定时器和ACK确认实现可靠传输;采用滑动窗口协议(GBN/SR)处理丢包,支持快速重传(3次重复ACK)和超时加倍机制;流量控制防止接收方溢出,拥塞控制通过AIMD算法动态调整速率。QUIC协议在UDP基础上实现类似功能,支持低时延连接和多路复用,为HTTP/3提供传输层支持。两种协议均通过序列号、确认机制和窗口管理保证数据有序可靠传输,并采用超时重传应对网络异常。
2025-08-15 21:50:14
874
原创 计算机网络速成笔记5.运输层(中)
本文摘要:文章首先介绍了UDP协议的特点,包括其轻量级结构、DNS应用场景及采用UDP的优势。随后阐述了可靠数据传输原理,从基础的rdt1.0到支持流水线的rdt3.0协议,分析了停等协议的性能瓶颈和流水线技术带来的改进与挑战。最后探讨了网络拥塞的成因与代价,以及拥塞控制的基本原理,指出不必要的重传和分组丢弃会造成资源浪费,需要采取有效控制方法。全文系统梳理了传输层的关键技术原理。
2025-08-15 21:45:28
335
原创 计算机网络速成笔记4.运输层(上)
运输层为不同主机上的应用进程提供逻辑通信,主要协议包括TCP和UDP。TCP提供可靠数据传输、拥塞控制等服务,而UDP仅提供进程间交付和差错检查。网络层实现主机间通信,运输层则实现进程间通信。多路复用将数据合并发送,多路分解将数据分离交付。UDP通过二元组(目的IP和端口)识别套接字,TCP则通过四元组(源IP、源端口、目的IP、目的端口)精确匹配连接。UDP无连接且可能冲突,TCP面向连接确保数据正确交付。
2025-08-15 21:41:41
659
原创 数据结构——用C实现常见排序算法
本文介绍了五种经典排序算法及其C语言实现。简单选择排序通过选择最小元素交换,时间复杂度O(n²);堆排序利用堆结构,时间复杂度O(nlogn);插入排序逐个插入元素,时间复杂度O(n²);希尔排序是插入排序的改进版,通过子序列排序提升效率;冒泡排序通过相邻元素比较交换,时间复杂度O(n²);快速排序采用分治法,平均时间复杂度O(nlogn)。每种算法都附有完整的C语言实现代码,并分析了时间/空间复杂度及适用场景。
2025-08-15 19:53:14
809
原创 数据结构学习——用C实现哈夫曼树
本文介绍了哈夫曼树及其编码的实现方法。哈夫曼树是一种带权路径长度最短的二叉树,通过为高频字符分配短编码、低频字符分配长编码实现数据压缩。文章详细阐述了哈夫曼树的构建过程:统计字符频率、构建优先队列、合并节点直至形成完整树结构。同时提供了一个C语言实现,包括频率统计、树构建、编码生成等关键步骤。代码通过读取文本文件统计字母频率,构建哈夫曼树并生成前缀编码,最终计算带权路径长度。文中还给出了优化建议,如动态内存分配和编码存储优化。该实现展示了哈夫曼编码在数据压缩中的实际应用价值。
2025-08-15 19:46:45
944
原创 JVM速成笔记5.类加载子系统__双亲委派机制
摘要:双亲委派机制是Java类加载的核心机制,通过层级委托确保核心类库安全,防止类重复加载。其加载顺序为Bootstrap→Extension→Application→自定义类加载器。JDBC等场景通过线程上下文类加载器打破该机制。JDK9引入模块化系统后,类加载器调整为Bootstrap→Platform→Application,强调模块化隔离和访问控制。新版通过LayerAPI实现动态模块加载,但需注意模块声明和反射访问限制。该机制既保障了安全性,又通过SPI等设计保持了扩展灵活性。
2025-08-14 14:00:00
974
原创 JVM速成笔记3.类加载子系统__类的生命周期
摘要: Java类的生命周期包括加载、连接(验证、准备、解析)、初始化、使用和卸载。加载阶段通过类加载器获取字节码,并生成方法区InstanceKlass对象和堆区Class对象。连接阶段包括验证字节码合规性(文件格式、元信息等)、为静态变量分配内存赋初值,以及将符号引用转为直接引用。初始化阶段执行clinit方法,处理静态代码块和静态变量赋值,触发条件包括访问静态成员、反射调用、实例化对象或启动主类。final静态常量在准备阶段直接赋值,普通静态变量初始化阶段赋值。
2025-08-14 07:30:00
282
原创 JVM速成笔记1.概述
JVM(Java虚拟机)是运行Java字节码的虚拟计算机程序,负责解释执行、内存管理和即时编译。主要工作流程包括:加载Java源代码、编译为字节码、运行字节码。其核心结构由类加载子系统(加载字节码)、运行时数据区(内存管理)、执行引擎(解释器、JIT编译器、GC)和本地接口(调用C/C++方法)组成。默认的HotSpot虚拟机通过即时编译技术优化Java程序性能。JVM实现了Java"一次编写,到处运行"的特性,是Java生态的核心基础。
2025-08-14 06:30:00
183
原创 信号与系统lab1.基于matlab的音乐序列生成
这段MATLAB代码实现了一个音乐合成系统,通过数字音频技术生成音乐序列。核心原理是利用正弦波生成音符频率(A4到A5八度范围),并应用ADSR包络(起音、衰减、持续、释音)模拟乐器音色特性。代码构建了多个音符序列片段(如sound1、sound2等),通过延迟、重复、混合和淡入淡出等效果处理增强音乐表现力。最终将序列组合成完整音乐,输出为WAV文件。该系统实现了从基础音符合成到完整音乐编排的全流程,适用于音乐合成、音效设计等场景,具有通过修改波形、调整包
2025-08-14 01:54:33
457
原创 电磁场与电磁波学习笔记--平面波方程推导
本文推导了无源简单介质中的电磁波方程。从麦克斯韦方程组出发,通过假设介质无源(J=0,ρV=0)和线性本构关系,得到关于电场和磁场的简化方程。进一步推导得到矢量波方程(∇²+k²)E=0和(∇²+k²)H=0,其中k=ω√με为传播常数。该方程描述了平面电磁波在介质中的传播特性,为电磁波传播问题的分析奠定了基础。
2025-08-14 01:45:06
739
原创 电磁场与电磁波学习笔记2.波与矢量分析(下)
本文介绍了矢量分析与场论的基本概念,包括标量场的等值面和梯度计算,矢量场的通量、散度、环量与旋度,以及重要的矢量运算恒等式。重点阐述了无旋场、无源场和调和场的定义及相互关系,并指出亥姆霍兹定理将任意矢量场分解为无旋场与无源场之和。最后简要提及了坐标变换的相关内容。
2025-08-14 01:41:48
1017
原创 电磁场与电磁波学习笔记1.波与矢量分析(上)
空间波:(超短波、微波和光波波段)穿过电离层达到外层空间(视距传播)天波:短波借助高空的电离层折射返回地面。地波:长波沿地球的弯曲表面传播很远。3.两时谐标量波乘积的时间平均值。3.两时谐标量波叉积的时间平均值。2.时谐矢量波的复矢量表示。2.时谐标量波的复数表示。
2025-08-14 01:36:30
229
原创 复变函数4道题目解析
摘要:解析函数是复变函数的核心,满足柯西-黎曼方程,具有无穷可微性。洛朗级数推广了泰勒级数,用于环形区域展开和奇点分析。复积分沿路径定义,柯西定理表明解析函数在闭合路径上积分为零。刘维尔定理证明有界整函数必为常数。奇点分为可去、极点和本性三类。留数定理将积分转化为留数求和,简化计算。这些概念构成了复变函数理论的基础框架。
2025-08-14 01:30:47
983
原创 计算机网络速成笔记3.应用层(下)
本文介绍了计算机网络中的电子邮件、DNS、P2P文件分发和视频流技术。电子邮件系统包括用户代理、邮件服务器和SMTP协议,SMTP负责邮件传输并采用ASCII编码。DNS作为分布式数据库,提供主机名到IP地址的转换,采用层次化服务器结构。P2P文件分发如BitTorrent通过邻近对等方交换数据块实现高效分发。视频流技术包括HTTP流和DASH,后者支持动态调整视频质量,CDN通过分布式服务器提升内容分发效率。这些技术共同支撑了现代互联网的信息传输和内容分发。
2025-08-14 01:24:55
1691
原创 计算机网络速成笔记2.应用层(上)
本文系统介绍了网络应用层体系结构及相关协议。主要内容包括:1.网络应用体系结构(C/S和P2P);2.进程通信原理与接口(套接字、IP地址和端口号);3.运输服务分类(TCP/UDP特性);4.HTTP协议详解(报文格式、状态码、Cookie技术);5.Web缓存机制(代理服务器工作原理);6.HTTP/2改进(多路复用、响应优先级、服务器推送)和HTTP/3新特性(基于QUIC的传输优化)。重点阐述了HTTP协议从1.1到3.0的演进过程,以及各项技术如何提升网络传输效率。
2025-08-14 01:23:19
1640
原创 计算机网络速成笔记1.’计算机网络和因特网
本文摘要:计算机网络与因特网基础概念解析 文章系统介绍了计算机网络的核心概念:1)因特网作为全球互联的网络系统;2)网络分层结构(五层协议栈)及其封装原理;3)关键网络技术包括分组交换与电路交换的区别;4)网络时延的四种类型及影响因素;5)常见接入网类型和物理传输媒介;6)基本网络安全威胁类型。内容涵盖从物理层到应用层的完整网络通信过程,为理解现代计算机网络运作提供了基础框架。
2025-08-14 01:21:45
289
原创 JVM速成笔记4.类加载子系统__类加载器
摘要:类加载器(ClassLoader)是Java虚拟机获取类字节码的技术,分为JVM底层实现(如C++编写的启动类加载器)和Java实现的类加载器(需继承ClassLoader)。启动类加载器(BootstrapClassLoader)加载核心库(如rt.jar),Java中获取为null。扩展类加载器(ExtensionClassLoader)和应用程序类加载器(AppClassLoader)继承URLClassLoader,分别加载jre/lib/ext和classpath下的类。用户可通过-Xboo
2025-08-14 01:09:48
715
原创 linux使用教程4.实用操作
本文整理了Linux系统管理中的核心命令,涵盖终端快捷键、软件管理、服务控制、网络配置等实用操作。包括YUM软件包管理、Systemd服务控制、网络调试工具、进程管理、系统监控等关键命令。特别提供了文件链接、时间设置、IP配置等系统维护技巧,以及文件传输、压缩解压等实用操作指南。适用于CentOS等主流Linux发行版。
2025-08-14 00:42:49
347
原创 linux系统使用教程3.用户权限
表示切换用户后加载环境变量,省略则仅切换用户身份而不加载环境变量。以 root 用户执行,可配置用户的 sudo 权限。:指定用户所属组,未指定则创建同名组并自动加入。:同时删除用户的 HOME 目录,未指定则保留。:指定用户 HOME 路径,未指定则默认为。临时赋予 root 权限执行命令。:递归修改文件夹内所有内容权限。:递归修改文件夹内所有内容归属。可回退到上一个用户。将用户加入指定用户组。查看系统中所有用户组。查看系统中所有用户。
2025-08-14 00:39:58
287
原创 linux使用教程1.Linux组成
采用多任务调度算法(如CFS完全公平调度器),动态分配CPU时间片给进程/线程。支持实时调度策略(SCHED_FIFO/SCHED_RR)和普通策略(SCHED_OTHER)。以上组件通过系统调用接口(syscall)向用户空间提供服务,形成完整的操作系统生态。开发者可通过/proc/sys文件系统或sysctl工具动态调整内核参数。Linux内核作为操作系统的核心组件,负责管理系统硬件资源并提供基础服务。
2025-08-14 00:34:50
329
原创 力扣hot100刷题记录_34. 在排序数组中查找元素的第一个和最后一个位置
摘要:该算法通过二分查找确定目标值在有序数组中的起始位置,再线性遍历找到结束位置。首先使用二分法找到目标值的最左出现位置,若未找到则返回[-1,-1];然后向右遍历找到最右边界。算法时间复杂度为O(logn),空间复杂度为O(1),高效地实现了在有序数组中查找目标值范围的功能。
2025-08-13 14:19:05
118
原创 力扣hot100刷题记录_74. 搜索二维矩阵
摘要:该问题要求在满足特定排序条件的二维矩阵中查找目标值。矩阵每行递增且每行首元素大于前一行末元素。解法利用二分搜索,将二维矩阵视为一维数组处理,通过计算行列索引来定位元素。时间复杂度为O(log(mn)),空间复杂度O(1)。示例显示该算法能正确判断目标值是否存在。
2025-08-13 13:36:34
152
原创 JVM速成笔记2.类加载子系统__字节码文件
摘要:Java字节码文件由基础信息、常量池、字段、方法、属性五部分组成。基础信息包括魔数、版本号、访问标识等;常量池存储字符串、类名等共享数据;字段和方法区保存类成员定义;属性区存放源码文件名等元信息。查看工具包括jclasslib、javap等。魔数0xcafebabe是字节码文件标识,版本号决定JDK兼容性。常量池通过编号引用实现符号引用,方法区的字节码指令操作基于操作数栈和局部变量表。i++操作示例展示了字节码执行顺序对结果的影响。
2025-08-13 01:15:51
731
原创 MySQL学习笔记9.SQL优化
批量数据操作优化策略:1.插入优化采用事务批量提交和LOAD DATA命令提升效率;2.主键设计应使用自增整型,避免修改主键值;3.排序、分组操作需建立匹配索引,调整相关缓冲区参数;4.深度分页使用延迟关联或ID边界查询;5.计数操作根据不同引擎特性选择最优方案;6.索引设计遵循最左前缀原则,控制索引数量和字段数。通过针对不同操作场景的专项优化,可显著提升数据库性能。
2025-08-13 01:09:00
311
原创 MySQL学习笔记8.索引
摘要:本文系统介绍了MySQL索引的核心知识,包括B+树和哈希索引的结构特点、索引分类(主键/唯一/全文索引等)、语法操作及性能分析方法。重点解析了最左前缀法则、索引失效场景等使用规则,提出索引设计应遵循数据量大时建立、选择高区分度字段、优先联合索引等原则。同时对比了B+树与二叉树、B树、哈希索引的优劣,阐明InnoDB选用B+树因其层级少、支持范围查询等优势。通过执行计划分析、慢查询日志等工具可有效优化索引性能。
2025-08-13 01:07:39
318
原创 MySQL学习笔记7.存储引擎
MySQL存储引擎比较与选择:InnoDB、MyISAM和Memory是三种主要存储引擎。InnoDB(5.5后默认)支持事务、行锁和外键,适合高并发修改场景;MyISAM以读取速度快见长,但不支持事务;Memory将数据存储在内存中,访问最快但不持久。选择依据包括:事务需求(仅InnoDB支持)、并发控制(InnoDB行锁)、数据安全性(排除Memory)以及读写比例(MyISAM适合读多写少)。InnoDB通过.ibd文件存储表结构、数据和索引,采用表空间-段-区-页-行的逻辑存储结构,页为16K的最小
2025-08-13 01:06:25
300
原创 MySQL学习笔记6.事务
事务是数据库操作的不可分割工作单元,具有"要么全部成功,要么全部失败"的特点。事务操作方式包括设置手动提交和开启事务两种方法。事务具有四大特性:原子性、一致性、隔离性和持久性。并发事务可能产生脏读、不可重复读和幻读等问题,MySQL提供四种隔离级别(读未提交、读已提交、可重复读、串行化)来控制这些问题。默认隔离级别是可重复读(Repeatable Read),可通过设置命令调整隔离级别。事务隔离级别可通过SELECT @@TRANSACTION_ISOLATION查看,使用SET TRA
2025-08-13 01:05:16
384
原创 MySQL学习笔记5.多表查询
摘要:本文介绍了SQL中的多种连接查询方式,包括笛卡尔积、内连接(隐式和显式)、外连接(左/右)、自连接(内外均可)以及联合查询(UNION/UNION ALL)。重点讲解了子查询的四种类型:标量子查询(单行单列)、列子查询(单列多行)、行子查询(单行多列)和表子查询(多行多列),并提供了具体示例。文章还详细说明了不同连接方式的语法结构和适用场景,特别是如何通过子查询实现复杂的数据检索需求,如部门员工查询、薪资比较等实际业务场景。
2025-08-13 01:03:38
248
原创 MySQL学习笔记4.约束
摘要:数据库约束是用于限制表中数据存储的规则,主要包括NOT NULL(非空)、UNIQUE(唯一)、PRIMARY KEY(主键)、DEFAULT(默认值)、CHECK(检查)和FOREIGN KEY(外键)约束。外键约束用于建立表间连接,可通过CREATE TABLE或ALTER TABLE语句添加,使用CONSTRAINT指定外键名称和关联字段。删除外键使用ALTER TABLE...DROP FOREIGN KEY语句。外键约束还支持NO ACTION、RESTRICT、CASCADE、SET NU
2025-08-13 01:02:30
266
原创 MySQL学习笔记3.函数
本文介绍了SQL中常用的四类函数:1)字符串函数(CONCAT、LOWER、UPPER等),用于字符串拼接、大小写转换及填充;2)数值函数(CEIL、FLOOR、MOD等),实现数值运算与舍入;3)日期函数(CURDATE、NOW、DATEDIFF等),处理日期时间计算;4)流程函数(IF、IFNULL、CASE WHEN),提供条件判断逻辑。这些函数可灵活组合使用,满足数据库查询与数据处理需求。
2025-08-13 01:01:45
249
原创 MySQL学习笔记2.SQL
SQL语法与操作摘要 SQL语法分为四类:DDL(定义)、DML(操作)、DQL(查询)和DCL(控制)。DDL用于创建数据库和表,支持字符集设置和注释;DML实现数据的增删改;DQL提供丰富的查询功能,包括条件、分组、排序和分页;DCL管理用户权限。关键点: 语法规范:分号结尾、不区分大小写、支持注释 数据类型:数值、字符串、日期时间三大类 查询执行顺序:FROM→WHERE→GROUP BY→HAVING→SELECT→ORDER BY→LIMIT 权限控制:通过GRANT/REVOKE管理用户访问权限
2025-08-13 00:59:36
348
原创 MySQL学习笔记1.概述
本文介绍了MySQL服务的启动/停止方法(服务管理器和命令行两种方式),以及通过图形化工具和命令行连接数据库的操作步骤。阐述了关系型数据库的核心特点(二维表存储、ACID事务等)和常用图形化工具(DataGrip、Workbench等),并强调了安全注意事项(修改默认密码、限制远程访问等),为MySQL的日常管理和安全使用提供了完整指南。
2025-08-13 00:57:57
117
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅