<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[HackerKevon的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/HackerKevon</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; HackerKevon]]></copyright><item><title><![CDATA[【项目】自主实现HTTP服务器：从Socket到CGI全流程解析]]></title><link>https://blog.csdn.net/HackerKevon/article/details/148006112</link><guid>https://blog.csdn.net/HackerKevon/article/details/148006112</guid><author>HackerKevon</author><pubDate>Fri, 16 May 2025 14:23:11 +0800</pubDate><description><![CDATA[本项目旨在通过从零实现一个多线程HTTP服务器，深入理解HTTP协议、网络套接字、线程管理、CGI通信等底层技术。项目首先介绍了网络协议栈的分层结构及HTTP协议的基本特点，包括其无连接、无状态的特性以及通过Cookie和Session维护用户状态的机制。接着，详细解析了HTTP请求和响应的格式，以及常见的HTTP方法和状态码。此外，项目还探讨了CGI机制，解释了服务器如何通过创建子进程调用CGI程序处理用户请求，并实现业务逻辑与服务器逻辑的解耦。最后，项目设计了统一的日志系统，用于记录服务器运行状态，帮助]]></description><category></category></item><item><title><![CDATA[【上海大学数据库原理实验报告】MySQL基础操作]]></title><link>https://blog.csdn.net/HackerKevon/article/details/147639335</link><guid>https://blog.csdn.net/HackerKevon/article/details/147639335</guid><author>HackerKevon</author><pubDate>Wed, 30 Apr 2025 20:07:16 +0800</pubDate><description><![CDATA[​	通过这次实验，我初步熟悉了MySQL的一些基础操作。从个人感觉上来说，SELECT语句似乎是关系代数表达式的一种更为直观的表达方式，因此上手也较快，相信自己在后续的实验中对MySQL语句的掌握更加熟练。]]></description><category></category></item><item><title><![CDATA[【上海大学数据库原理实验报告】MySQL数据库的C/S模式部署]]></title><link>https://blog.csdn.net/HackerKevon/article/details/147422886</link><guid>https://blog.csdn.net/HackerKevon/article/details/147422886</guid><author>HackerKevon</author><pubDate>Tue, 22 Apr 2025 15:28:14 +0800</pubDate><description><![CDATA[​	通过这次实验，我初步掌握了MySQL数据库的C/S模式部署。在此之前，我对数据库的使用还仅仅停留在单机访问的阶段，而现在学习了C/S模式部署，也让我意识到这才是数据库在大多数情况下的应用场景，所以我感觉应该进一步熟练部署过程。]]></description><category></category></item><item><title><![CDATA[【上海大学计算机系统结构实验报告】多机环境下MPI并行编程]]></title><link>https://blog.csdn.net/HackerKevon/article/details/147289314</link><guid>https://blog.csdn.net/HackerKevon/article/details/147289314</guid><author>HackerKevon</author><pubDate>Sat, 19 Apr 2025 17:15:41 +0800</pubDate><description><![CDATA[​	通过本次实验，我系统掌握了分布式MPI环境的搭建流程，也进一步巩固了SSH无密码登录以及NFS共享配置的方法。实验中通过多主机MPI程序运行验证了并行计算在大规模数据处理中的高效性。这让我联想到在数据库系统中也有通过部署大规模集群来实现高并发访问和海量数据处理的能力，不过我并不确定这两者之间的原理是否相同，希望以后有机会能进一步学习其中的原理。]]></description><category></category></item><item><title><![CDATA[【项目】构建高性能多线程内存池：简化版 tcmalloc 实现指南]]></title><link>https://blog.csdn.net/HackerKevon/article/details/147194361</link><guid>https://blog.csdn.net/HackerKevon/article/details/147194361</guid><author>HackerKevon</author><pubDate>Tue, 15 Apr 2025 21:50:55 +0800</pubDate><description><![CDATA[举个例子：申请 257KB，虽然只超出一点，但由于已经超过 256KB，因此要按页对齐，257KB 对应 32.125 页，就得向上取整，按 33 页来分配，总共是 264KB。最后，由于整个基数树的写入和读取逻辑在流程中是严格分离的，我们可以保证不会出现两个线程同时对同一个页号进行读写操作的情况，这就为彻底移除锁提供了基础条件，使得整体性能在数据量增长时也能保持良好表现。浪费最多的点通常是每个区间的起始，比如 1B、129B、1025B，这些对齐后会有一定冗余，但相对于分配效率，这点浪费可以接受。]]></description><category></category></item><item><title><![CDATA[六、继承（三）]]></title><link>https://blog.csdn.net/HackerKevon/article/details/147189639</link><guid>https://blog.csdn.net/HackerKevon/article/details/147189639</guid><author>HackerKevon</author><pubDate>Sun, 13 Apr 2025 11:44:47 +0800</pubDate><description><![CDATA[之前我们说过，初始化列表初始化的顺序跟出现的顺序无关，而跟声明的顺序有关，也就是说谁先声明谁先初始化，而对于继承也有类似的特性，谁先被继承谁就先声明。，此时数据冗余的影响并不大，而当继承的成员有很多时，通过存放一个指向虚基表的指针再通过偏移量来得到公有的对象就可以极大地节省空间了。实际上，这个地方空下来是为多态做准备，这里我们暂且不表，我们现在需要知道的是，这里不只是用来存偏移量，还会用来存别的数据。为了解决菱形继承的二义性和数据冗余的问题，C++又引入了虚拟继承的概念，而要使用虚拟继承，就要用到关键字。]]></description><category></category></item><item><title><![CDATA[六、继承（二）]]></title><link>https://blog.csdn.net/HackerKevon/article/details/147095391</link><guid>https://blog.csdn.net/HackerKevon/article/details/147095391</guid><author>HackerKevon</author><pubDate>Wed, 09 Apr 2025 15:45:44 +0800</pubDate><description><![CDATA[的地址都是一样的，而且不管是基类还是派生类都可以对它进行访问，也就是说当基类定义了。如果要让基类友元访问派生类的私有和保护成员，需要在派生类中也进行声明。这样一来，就可以实现一个不能被继承同时又不影响创建自己对象的类了。如果一个基类中有存在静态成员，那么在派生类中是怎么继承的呢？类的对象时，也将调用不到它的构造和析构函数，那该怎么办呢？，也就是说基类友元不能访问派生类的私有和保护成员。从运行结果可以看到，不管是基类还是派生类，静态成员。如果我们想实现一个不能被继承的类，该怎么做呢？从运行结果可以看到，]]></description><category></category></item><item><title><![CDATA[【上海大学计算机组成原理实验报告】七、程序转移机制]]></title><link>https://blog.csdn.net/HackerKevon/article/details/139581288</link><guid>https://blog.csdn.net/HackerKevon/article/details/139581288</guid><author>HackerKevon</author><pubDate>Mon, 10 Jun 2024 19:56:56 +0800</pubDate><description><![CDATA[学习实现程序转移的硬件机制//掌握堆栈寄存器的使用//手动方式实现子程序调用转移过程//手动方式实现子程序返回转移过程//编程实现`OUT`寄存器交替显示`11`和`55`//若要求`11`和`55`各显示`50`次后停机，应该如何修改程序？//根据实验指导书的相关内容，实验箱系统的程序转移硬件机制在于，当`LDPC`有效时，如果此时`DUBS`上的值就是转移的目标地址，则此目标地址被打入`PC`，从而实现程序的转移；若`LDPC`为`0`是附带条件的，就形成“条件转移”。]]></description><category></category></item><item><title><![CDATA[【上海大学计算机组成原理实验报告】六、内存系统实验]]></title><link>https://blog.csdn.net/HackerKevon/article/details/139380732</link><guid>https://blog.csdn.net/HackerKevon/article/details/139380732</guid><author>HackerKevon</author><pubDate>Sat, 01 Jun 2024 22:24:10 +0800</pubDate><description><![CDATA[学习内存访问机制//理解代码和数据的分区存放原理和技术//手动方式把立即数`33H`写入内存`D1H`单元//手动方式把`D1H`单元的内容读出，再送入`ST`单元//在`CP226`汇编语言程序集成开发环境下编写程序//既然有`ORG`微指令，为什么集成开发环境下载到实验箱的目标程序的第一条执行语句最好存放在0号地址？//上海大学计算机组成原理实验//内存系统实验]]></description><category></category></item><item><title><![CDATA[【上海大学计算机组成原理实验报告】五、机器语言程序实验]]></title><link>https://blog.csdn.net/HackerKevon/article/details/138923022</link><guid>https://blog.csdn.net/HackerKevon/article/details/138923022</guid><author>HackerKevon</author><pubDate>Wed, 15 May 2024 20:54:10 +0800</pubDate><description><![CDATA[机器语言程序实验//理解计算机执行程序的实际过程//学习编制机器语言简单程序的方法//将R1中的数值左移n次送OUT，其中n是R2中的数值。（指令码从10开始）//完成R3=R0×R1，结果送OUT。（指令码从30开始）//建立“中文汇编指令”需要哪些条件？//上海大学计算机组成原理实验报告]]></description><category></category></item><item><title><![CDATA[【上海大学计算机组成原理实验报告】四、指令系统实验]]></title><link>https://blog.csdn.net/HackerKevon/article/details/138169954</link><guid>https://blog.csdn.net/HackerKevon/article/details/138169954</guid><author>HackerKevon</author><pubDate>Wed, 24 Apr 2024 21:19:48 +0800</pubDate><description><![CDATA[分析并验证指令功能//观察机器指令码为`66H`的各微指令信号，验证该指令的功能。假设`A=03H`，`R2=77H`，`77`地址单元存放`06H`数据。//设计指令，完成相应功能//修改机器指令码为`E8H`的功能，使其完成“输出`A+W`的结果右移一位的值送OUT输出”操作//在微指令结构的计算机中，一条指令从启动到产生功能经过哪些环节？//了解指令结构、PC寄存器的功能和指令系统的基本工作原理。]]></description><category></category></item><item><title><![CDATA[【上海大学计算机组成原理实验报告】三、微指令系统实验]]></title><link>https://blog.csdn.net/HackerKevon/article/details/137641034</link><guid>https://blog.csdn.net/HackerKevon/article/details/137641034</guid><author>HackerKevon</author><pubDate>Thu, 11 Apr 2024 15:36:59 +0800</pubDate><description><![CDATA[微指令系统实验//了解译码器、微指令结构的基本工作原理//学习设计微指令的方法//分析指令功能，并自行编制一条指令//观察微指令存储器地址为31H单元的内容，分析其控制功能，并编制一条微指令实现“A非”运算后右移一位的值送OUT，把这条微指令放入微程序存储器的32H单元，将31H和32H连续执行以验证其功能是否实现//如何给μPC置初值？]]></description><category></category></item><item><title><![CDATA[【上海大学计算机组成原理实验报告】二、运算器实验]]></title><link>https://blog.csdn.net/HackerKevon/article/details/137244793</link><guid>https://blog.csdn.net/HackerKevon/article/details/137244793</guid><author>HackerKevon</author><pubDate>Mon, 01 Apr 2024 20:00:12 +0800</pubDate><description><![CDATA[运算器实验//算术、逻辑运算单元的控制方法//机器语言程序的运行过程//人工译码//CP226实验仪//计算07H+6AH后左移一位的值送OUT输出//把39H取反后同64H相或的值送入R2寄存器//如何将R2中的数据送至A寄存器中？]]></description><category></category></item><item><title><![CDATA[【上海大学计算机组成原理实验报告】一、数据传送实验]]></title><link>https://blog.csdn.net/HackerKevon/article/details/136744814</link><guid>https://blog.csdn.net/HackerKevon/article/details/136744814</guid><author>HackerKevon</author><pubDate>Fri, 15 Mar 2024 17:04:07 +0800</pubDate><description><![CDATA[将58H写入A寄存器//将6BH写入W寄存器//将C3H写入R1寄存器//将C3H写入R1寄存器//了解实验仪器数据总线的控制方式//掌握数据传送的基本原理//掌握各寄存器的结构、工作原理及其控制方法//数据传送实验]]></description><category></category></item><item><title><![CDATA[【C++】102.二叉树的层序遍历]]></title><link>https://blog.csdn.net/HackerKevon/article/details/136519102</link><guid>https://blog.csdn.net/HackerKevon/article/details/136519102</guid><author>HackerKevon</author><pubDate>Wed, 06 Mar 2024 22:00:48 +0800</pubDate><description><![CDATA[只用一个队列实现二叉树的层序遍历//当前层的节点全部出队列的时候一定是下一层的节点全部进入队列//vector levelOrder(TreeNode* root)//给你二叉树的根节点 root，返回其节点值的层序遍历。 （即逐层地，从左到右访问所有节点）//只需要再增加一个变量`levelSize`，用来记录每一层的数据个数，然后再让这个队列一层一层的出去]]></description><category></category></item><item><title><![CDATA[六、继承（一）]]></title><link>https://blog.csdn.net/HackerKevon/article/details/136446366</link><guid>https://blog.csdn.net/HackerKevon/article/details/136446366</guid><author>HackerKevon</author><pubDate>Mon, 04 Mar 2024 10:53:53 +0800</pubDate><description><![CDATA[继承的引入//继承的概念及定义//继承的定义格式//继承关系和访问限定符//继承基类成员访问方式的变化//基类和派生类对象赋值转换//基类和派生类对象赋值转换引入//基类和派生类对象赋值转换的规则//继承中的作用域//派生类的默认成员函数]]></description><category></category></item><item><title><![CDATA[五、模 板]]></title><link>https://blog.csdn.net/HackerKevon/article/details/135711762</link><guid>https://blog.csdn.net/HackerKevon/article/details/135711762</guid><author>HackerKevon</author><pubDate>Sat, 20 Jan 2024 10:20:37 +0800</pubDate><description><![CDATA[泛型编程//函数模板//函数模板的定义//函数模板的原理//函数模板的实例化//隐式实例化//显式实例化//函数模板的特征//类模板//类模板的定义//类模板的特征//非类型模板参数//模板的特化//函数模板特化//类模板特化//全特化//偏特化//部分特化//参数更进一步的限制//类模板特化应用示例//模板的分离编译//总结]]></description><category></category></item><item><title><![CDATA[四、C++内存管理]]></title><link>https://blog.csdn.net/HackerKevon/article/details/135548113</link><guid>https://blog.csdn.net/HackerKevon/article/details/135548113</guid><author>HackerKevon</author><pubDate>Fri, 12 Jan 2024 11:18:37 +0800</pubDate><description><![CDATA[C/C++内存分布//C++动态内存管理//new和delete//new、delete和malloc、free的区别//new和delete的底层原理//new和delete需匹配使用的原因//定位new表达式]]></description><category></category></item><item><title><![CDATA[二、类与对象（四）]]></title><link>https://blog.csdn.net/HackerKevon/article/details/135425561</link><guid>https://blog.csdn.net/HackerKevon/article/details/135425561</guid><author>HackerKevon</author><pubDate>Sat, 06 Jan 2024 14:05:03 +0800</pubDate><description><![CDATA[内部类的概念//内部类的特性//匿名对象的引入及特性//编译器对拷贝对象时的一些优化//连续构造和拷贝构造时的优化//参数类型为引用时的优化//传值返回时的优化]]></description><category></category></item><item><title><![CDATA[三、一个规范的日期类]]></title><link>https://blog.csdn.net/HackerKevon/article/details/135349876</link><guid>https://blog.csdn.net/HackerKevon/article/details/135349876</guid><author>HackerKevon</author><pubDate>Tue, 02 Jan 2024 20:56:44 +0800</pubDate><description><![CDATA[日期类//Date类//一个规范的日期类//Time类//时间类]]></description><category></category></item></channel></rss>