- 博客(12)
- 收藏
- 关注
原创 从系统的角度讲,数据是怎么被传输的?
本文简要介绍了Linux系统中数据在进程间传输的机制。核心要点包括:1)进程通过task_struct中的文件描述符访问socket文件;2)socket通过inode指向内核socket结构体,包含发送/接收队列;3)使用sk_buff结构体存储网络数据包,通过移动data指针实现高效传输,避免数据拷贝;4)接收时指针向后剥离首部,发送时向前预留空间添加首部。整个过程体现了Linux网络栈的分层设计思想。
2025-06-22 10:27:41
300
原创 C++实现单例模式
确保一个类只有一个实例,而且自行实例化,并向整个系统提供这个实例因此单例模式的构造函数是私有的,并且实例是static静态的,还需要提供一个静态方法getInstance()获取实例单例模式分饿汉式和懒汉式。
2025-06-22 10:25:52
261
原创 临时对象与const
值拷贝:const 的值可以赋值给非 const 变量,因为这只是复制值,不会影响原始的 const 变量。引用绑定:const 的变量不能绑定到非 const 引用,因为这会允许通过引用修改 const 变量,违反 const 的语义。
2025-02-06 09:31:13
438
原创 Hadoop课设蔬菜统计--超详细流程
蔬菜统计根据“蔬菜.txt”的数据,利用Hadoop平台,实现价格统计与可视化显示。要求:通过MapReduce分析列表中的蔬菜数据。(1)统计各地区每一天大白菜、土豆的价格(柱状图)(2)选取一个城市,统计各个蔬菜价格变化曲线(折线图)(3)统计每种蔬菜价格最高的地区和日期(柱状图)(4)加载Hbase、Hive等软件,并说明API(1)map:按列表进行分片分区(2)reduce:按照要求进行统计可以将整体分为三部分:前置准备:我使用的是idea+maven框架配置Hadoop2.8.3版本(推荐
2024-07-17 15:08:33
1730
1
原创 算法训练Day2-螺旋矩阵
输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。我们不妨把这种螺旋矩阵看成坐标,上下左右分区操作。给定一个正整数 n,生成一个包含 1 到。没有算法 是一道模拟过程题。
2024-07-16 14:00:56
283
原创 算法训练Day2-长度最小的子数组
给定一个含有n个的数组,一个正整数s找出该数组中满足其的长度的,并返回其长度。如果不存在符合条件的子数组,返回 0。暴力解决这个问题需要写两个for循环这样其实需要经过很多重复的比较记录,效率低时间复杂度:$O(n^2)$空间复杂度:$O(1)$那怎么写才能提高速度,不去比较重复的部分呢???于是我们想到了使用滑动窗口来解决这个问题。
2024-07-16 10:58:48
423
原创 算法训练Day1-移除元素
给定数组,要求删除在数组中删去所有等于某一个值的元素,不能新建数组,必须修改给定数组,最后得到一个新数组长度乍一看,诶这简单呀,移除数组元素我还不会吗,遍历找到了就覆盖上去呗。
2024-05-10 17:21:19
694
1
原创 算法训练Day1-二分查找
话不多说,献上一个经典的例子↓现在请你在0-100中玩一个猜数游戏,现在只有我知道这个数是多少,你随机猜,我只会告诉你猜的数是比它大还是小,最少用几步猜出呢?从1一直猜到100我总能猜出来吧,这也是暴力解法,不过这也太慢了,万一我指定的数字是100呢!很明显,用二分法是最快最准的,先猜50,再看0-49还是51-100……以此类推,不断的缩小区间直到锁定数字。二分查找的思想就是同上!
2024-05-10 11:11:26
991
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人