自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

预览 取消 提交

自定义博客皮肤

-+
上一步保存
  • 博客(220)
  • 收藏
  • 关注

原创 TCP三次握手和自连接的条件和缺点

客户端临时端⼝号的范围由 /proc/sys/net/ipv4/iplocalport_range。「确认号」字段指定了对端(客户端)下次发送 段的序号,这里等于客户端 ISN 加一。服务端收到客户端的 SYN 段以后,将 SYN 和 ACK 标记都置位。重传总时间:63s = 1s+2s+4s+8s+16s+32s。⽂件决定,只要服务端监控的端⼝号不在这个范围内就可以了。让服务监听的端⼝与客户端临时端⼝号不可能相同即可。源端⼝号和⽬标端⼝号都是⾃⼰可能吗?当出现⾃连接的时候,主动关掉连接。

2023-07-04 17:47:00 527

原创 TCP之延时Nagle算法实验详解

Nagle 算法是应用在发送端的,简而言之就是,对发送端而言:• 当第一次发送数据时不用等待,就算是 1byte 的小包也立即发送• 后面发送数据时需要累积数据包直到满足下面的条件之一才会继续发送数数据包达到最大段大小MSS接收端收到之前数据包的确认 ACK。

2023-07-04 13:20:24 1038

原创 Spark入门

回顾:Hadoop主要解决,海量数据的存储和海量数据的分析计算。Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。

2023-06-12 18:35:22 689

原创 毫米波雷达IWR1642和DCA1000 EVM环境搭建

mmWaveStudio GUI设计用于表征和评估TI Radar器械。mmWaveStudio通过SPI向mmWave设备发送命令来配置和控制mmWave设备。使用DCA 1000 EVM或TSW 1400 EVM板捕获ADC数据,并在Matlab中处理数据,结果显示在GUI中。mmWaveStudio GUI利用C DLL和一组API通过FTDI FT 4232 H设备从GUI通信到设备。FT 4232 H是一款USB 2.0高速(480 Mb/s)转UART IC。

2023-06-07 13:04:55 4045 2

原创 内存泄露的循环引用问题

通常意义上我们说的垃圾回收器(Garbage Collector,GC),和多数同学的理解会有出入。你可能认为 GC 是做内存回收用的模块,而事实上程序语言提供的 GC 往往是应用的实际内存管理者。刚刚入门咱们就遇到了一个容易出现理解偏差的问题,所以 GC 是值得花时间细学的。如上图所示,一方面 GC 要承接操作系统虚拟内存的架构,另一方面 GC 还要为应用提供内存管理。GC 有一个含义,就是 Garbage Collection 内存回收的具体动作。

2023-05-29 08:49:40 919

原创 LRU 该用什么数据结构

我们讨论的频次较高、频次较低,是基于历史的。历史在未来并不一定重演。比如读取一个大型文件,无论如何操作都很难建立一个有效的缓存。甚至有的时候,最近使用频次最低的数据被缓存,使用频次最高的数据被置换,效率会更高。比如说有的数据库设计同时支持 LRU 缓存和 MRU( Most Recently Used)缓存。MRU 是 LRU 的对立面,这看似茅盾,但其实是为了解决不同情况下的需求。这并不是说缓存设计无迹可寻,而是经过思考和预判,还得以事实的命中率去衡量缓存置换算法是否合理。

2023-05-27 09:26:11 1115

原创 一个程序最多能占用的内存大小

目前我们主要都是在用 64bit 的机器。因为 264 数字过于大,即便是虚拟内存都不需要这么大的空间。因此通常操作系统会允许进程使用非常大,但是不到 264 的地址空间。通常是几十到几百 EB(1EB = 106TB = 109GB)。

2023-05-25 08:58:36 1222

原创 HTTP中 Connection: keep-Alive与TCP中keepalive有什么区别?

由于 HTTP 是基于 TCP 传输协议实现的,客户端与服务端要进行 HTTP 通信前,需要先建立 TCP 连接,然后客户端发送 HTTP 请求,服务端收到后就返回响应,至此「请求-应答」的模式就完成了,随后就会释放 TCP 连接。TCP 的 Keepalive 也叫 TCP 保活机制,该功能是由「内核」实现的,当客户端和服务端长达一定时间没有进行数据交互时,内核为了确保该连接是否还有效,就会发送探测报文,来检测对方是否还在线,然后来决定是否要关闭该连接。这样做,连接就不会中断,而是保持连接。

2023-05-23 13:06:01 744

原创 socket编程

这⾥需要注意的是,服务端调⽤ accept 时,连接成功了会返回⼀个已完成连接的 socket,后续⽤来传输数据。成功连接建⽴之后,双⽅开始通过 read 和 write 函数来读写数据,就像往⼀个⽂件流⾥⾯写东⻄⼀样。

2023-05-22 08:53:43 454

原创 单例模式(Binary Search)及实现的几种方式

单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台算机可以有若干个打印机,但只能有一个 Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。总之,选择单例模式就是为了避免不一致状态。

2023-05-17 10:19:13 261

原创 select poll epoll有什么区别

最基础的 TCP 的 Socket 编程,它是阻塞 I/O 模型,基本上只能一对一通信,那为了服务更多的客户端,我们需要改进网络 I/O 模型。比较传统的方式是使用多进程/线程模型,每来一个客户端连接,就分配一个进程/线程,然后后续的读写都在对应的进程/线程,这种方式处理 100 个客户端没问题,但是当客户端增大到 10000 个时,10000 个进程/线程的调度、上下文切换以及它们占用的内存,都会成为瓶颈。

2023-05-16 17:03:39 435

原创 【Linux是如何发送网络包的?】

电脑与电脑之间通常都是通过网卡、交换机、路由器等网络设备连接到一起,那由于网络设备的异构性,国际标准化组织定义了一个七层的 OSI 网络模型,但是这个模型由于比较复杂,实际应用中并没有采用,而是采用了更为简化的 TCP/IP 模型,Linux 网络协议栈就是按照了该模型来实现的。TCP/IP 模型主要分为应用层、传输层、网络层、网络接口层四层,每一层负责的职责都不同,这也是 Linux 网络协议栈主要构成部分。

2023-05-16 13:11:47 636

原创 BIO NIO AIO 的区别

我们从 3 个方面讨论了 I/O 模型。第一个是编程模型,阻塞、非阻塞、异步 3 者 API 的设计会有比较大的差异。通常情况下我们说的异步编程是异步转同步。异步转同步最大的价值,就是提升代码的可读性。可读,就意味着维护成本的下降以及扩展性的提升。第二个在设计系统的 I/O 时,另一件需要考虑的就是数据传输以及转化的成本。传输主要是拷贝,比如可以使用内存映射来减少数据的传输。但是这里要注意一点,内存映射使用的内存是内核空间的缓冲区,因此千万不要忘记回收。

2023-05-14 20:17:04 720

原创 rm / -rf指令的作用是?

pwd指令查看工作目录。cd指令切换工作目录。which指令查找一个执行文件所在的路径。ls显示文件信息。rm删除文件。touch修改一个文件的时间戳,如果文件不存在会触发创建文件。vi和nano可以用来编辑文件。cat查看完成的文件适合小型文件。moreless查看一个文件但是只读取用户看到的内容到内存,因此消耗资源较少,适 合在服务器上看日志。headtail可以用来看文件的头和尾。grep指令搜索文件内容。grep是global regular pattern的组合。

2023-05-14 13:26:36 5337

原创 虚拟化技术介绍-VMware和Docker的区别

顾名思义,虚拟是相对于现实而言。虚拟化(Virutualization)通常是指构造真实的虚拟版本。不严谨地说,用软件模拟计算机,就是虚拟机;用数字模拟价值,就是货币;用存储空间模拟物理存储,就是虚拟磁盘。VMware 和 Docker 是目前虚拟化技术中最具代表性的两种设计。VMware 为应用提供虚拟的计算机(虚拟机);Docker 为应用提供虚拟的空间,被称作容器(Container)。VMware在 1998 年诞生,通过 Hypervisor 的设计彻底改变了虚拟化技术。

2023-05-12 15:05:43 2226

原创 对称加密和非对称加密的区别

对称加密用同样的密钥,安全系数不够。非对称加密,用公钥 + 私钥的方式加强了安全系数。那么是不是我们所有的加密的应用都应该用非对称加密呢?通常情况,非对称加密需要更多的运算资源。因此很多协议使用非对称加密解决最核心的安全问题,再用对称加密解决其他问题。以 HTTPS 协议为例,客户端和服务器之间会先用非对称加密交换临时对称加密密钥,然后之后的通信会以对称加密执行,直到连接结束。也就是非对称加密仅仅存在于 HTTPS 连接建立后,用于交换密钥(对称加密密钥)的少数几次传输中。

2023-05-11 17:12:23 818

原创 TCP之滑动窗口和流量控制

TCP 利用发送字节数和接收字节数,这个二元组的唯一性保证顺序。讨论下保证顺序的具体算法,以及如何在保证顺序的基础上,同时追求更高的吞吐量。——TCP 的滑动窗口算法。TCP 作为一个传输层协议,最核心的能力是传输。传输需要保证可靠性,还需要控制流速,这两个核心能力均由滑动窗口提供。而滑动窗口中解决的问题,是你在今后的工作中可以长期使用的,比如设计一个分布式的 RPC 框架、实现一个消息队列或者分布式的文件系统等。

2023-05-11 09:55:56 874

原创 Tunel技术是什么?

IPv4 用 32 位整数描述地址,最多只能支持 43 亿设备,显然是不够用的,这也被称作 IP 地址耗尽问题。为了解决这个问题,有一种可行的方法是拆分子网。拆分子网,会带来很多问题,比如说内外网数据交互,需要网络地址转换协议(NAT 协议),增加传输成本。再比如说,多级网络会增加数据的路由和传输链路,降低网络的速度。理想的状态当然是所有设备在一个网络中,互相可以通过地址访问。为了解决这个问题,1998 年互联网工程工作小组推出了全新款的 IP 协议——IPv6 协议。

2023-05-10 14:45:23 841

原创 什么是零拷贝?

零拷贝指的是,从一个存储区域到另一个存储区域的copy任务无需CPU参与就可完成。零拷贝的底层是通过DMA总线技术实现的。零拷贝与具体的编程语言无关,完全依赖于OS,OS支持就可使用,不支持设置了也不起作用。DMA(Direct Memory Access,直接内存访问)是一种计算机系统内部的数据传输技术,需要DMA总线(硬件的体系结构)的硬件支持。其整个数据传输过程是在DMA控制器下完成的。零拷贝在计算机内部数据拷贝及网络传输中都大量使用,用于减少CPU消耗和内存带宽占用,减少用户。

2023-05-09 13:31:56 1333

原创 Linux权限划分的原则

考察的不仅是一个具体的指令,还考察对技术层面的认知。如果对 Linux 权限有较深的认知和理解,那么完全可以通过查资料去完成具体指令的执行。更重要的是,认知清晰的程序员可以把 Linux 权限管理的知识迁移到其他的系统设计中。

2023-05-09 09:52:42 1474

原创 【TCP为什么需要粘包和拆包】

TCP 协议的设计像一台巨大而严密的机器,每次我重新温习 TCP 协议,都会感叹“它庞大,而且很琐碎”。每一个细节的设计,都有很深的思考。比如 Sequence Number 和 Acknowledge Number 的设计,就非常巧妙地利用发送字节数和接收字节数解决了顺序的问题。TCP 协议是如何恢复数据的顺序的,TCP 拆包和粘包的作用是什么?解析】TCP 拆包的作用是将任务拆分处理,降低整体任务出错的概率,以及减小底层网络处理的压力。拆包过程需要保证数据经过网络的传输,又能恢复到原始的顺序。

2023-05-05 18:48:58 756

原创 epoll为什么用红黑树?

总结一下,Socket 既是一种编程模型,或者说是一段程序,同时也是一个文件,一个双向管道文件。你也可以这样理解,Socket API 是在 Socket 文件基础上进行的一层封装,而 Socket 文件是操作系统提供支持网络通信的一种文件格式。在服务端有两种 Socket 文件,每个客户端接入之后会形成一个客户端的 Socket 文件,客户端 Socket 文件的文件描述符会存入服务端 Socket 文件。

2023-04-14 13:07:40 1046

原创 TCP 协议为什么握手是 3 次,挥手却是 4 次?

TCP 协议为什么握手是 3 次,挥手却是 4 次?

2022-11-11 20:07:48 622 1

原创 【Python3.11版本利用whl文件安装对应的dlib-19.24.1-cp311-cp311-win_amd64.whl库】

最后显示成功即是安装好了。

2024-06-03 12:17:38 2555 2

原创 力扣 | 226. 翻转二叉树

【代码】力扣 | 226. 翻转二叉树。

2024-04-15 23:24:34 189 1

原创 力扣 | 148. 排序链表

和数组里面的归并排序思想一致。

2024-04-14 23:41:00 321

原创 力扣 | 24. 两两交换链表中的节点

你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。输入:head = 1->2->3->4->5->NULL。输出:2->1->4->3->5->NULL。两两交换链表中的节点。

2024-04-14 11:37:01 496

原创 力扣 |142. 环形链表 II

因为相遇的点只能是在2、0、-4这几个点,c的长度并不一定是一个next就可以。向前走,刚好在入环的节点处相遇!注意:b和c交界的点不一定是从例如-4这个节点处,根据推出的表达式:slow和fast相遇的时候,让slow和位于头节点的p同时。重点是理解a b c的关系!

2024-04-13 22:38:37 214

原创 力扣 | 234. 回文链表

【代码】力扣 | 234. 回文链表。

2024-04-13 21:57:09 291

原创 力扣 | 160. 相交链表

【代码】力扣 | 160. 相交链表。

2024-04-13 19:41:25 260

原创 力扣 | 54. 螺旋矩阵

注意按照顺时针方向进行访问元素,以及每次触发的条件只会满足一个!

2024-04-12 22:07:25 257

原创 力扣 | 141. 环形链表

【代码】力扣 | 141. 环形链表。

2024-01-26 12:53:07 291

原创 力扣 | 240. 搜索二维矩阵 II

不难想到二分查找的思想,但是这道题目还可以利用有序大大减少代码量。

2024-01-24 15:58:35 646

原创 力扣 | 73. 矩阵置零

【代码】力扣 | 73. 矩阵置零。

2024-01-24 15:00:24 475

原创 力扣 | 56. 合并区间

【代码】力扣 | 56. 合并区间。

2024-01-23 17:16:47 411

原创 力扣 | 238. 除自身以外数组的乘积

【代码】力扣 | 238. 除自身以外数组的乘积。

2024-01-23 10:22:41 446

原创 力扣 | 560. 和为 K 的子数组

【代码】力扣 | 560. 和为 K 的子数组。

2024-01-23 08:53:26 671

原创 力扣 | 438. 找到字符串中所有字母异位词

在s里面控制一个p字符串长度的滑动窗口,统计该滑动窗口中的每种字符出现的次数。

2024-01-19 18:36:02 425

原创 力扣 | 15. 三数之和

【代码】力扣 | 15. 三数之和。

2024-01-19 08:54:44 402

原创 力扣 | 11. 盛最多水的容器

双指针解法–对撞指针。

2024-01-18 14:27:12 575

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

molecule_jp CSDN认证博客专家 CSDN认证企业博客
码龄8年 暂无认证
IP 属地:广东省
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
218
原创
2万+
周排名
5万+
总排名
21万+
访问
等级
2534
积分
5026
粉丝
301
获赞
19
评论
525
收藏
私信

分类专栏

Windows微信可以上网但是浏览器却用不了网络如何解决

Dorothy_1003: 蛙趣,太牛了表情包试了所有办法,只有这个有用表情包

  • Windows微信可以上网但是浏览器却用不了网络如何解决

    Lin_Qingye: 太牛了,唯一能解决问题的表情包表情包表情包

  • 毫米波雷达IWR1642和DCA1000 EVM环境搭建

    知467: 好滴谢谢

  • 毫米波雷达IWR1642和DCA1000 EVM环境搭建

    molecule_jp: 有点忘记了 正常的吧 这是 反正到这里环境能用的

  • 毫米波雷达IWR1642和DCA1000 EVM环境搭建

    知467: 你好我想问一下为什么最后第二个图没显示呢 我的也是这个情况表情包是因为啥

  • 提示
    确定要删除当前文章?

    相关内容推荐

    社交论坛建站珲春英文建站潞西全网建站珠海代理建站新手建站培训dedecms建站流程卫浴建站平台wap网站建站长沙建站建设顺德建站方法php建站图书小小龙建站伟创建站编程建站基础设计建站方案唐老师建站专业建站费用域名邮箱建站红安建站公司乳山建站外包大庆建站平台建站技巧口诀南极随便建站合川建站优化常州祥云建站东丽区自助建站深圳建站工具未来建站方向shopify建站平台瓦科建站建站教程软件秦皇岛企业建站蘑菇365建站学习建站书籍辽宁建站优势娄底建站手段昌平模板建站建站工具上海xampp建站点爱建站图册创业建站设计建站之星 个人建站用wordpress潍坊快速建站吉安建站系统城厢品牌建站xshell傻瓜建站餐饮建站平台胶南建站优化免费建站代理WordPress建站 seoseo职场建站香港建站价格铜川网站建站夸克建站源码淮北免费建站丰南模板建站贵阳建站程序购物平台建站天河建站价格滨州代理建站建站之星 完美建站工具 风铃厂洼建站erp建站系统汕尾建站团队湖里建站公司专业建站方案建站工具 2018嘉兴高端建站电器建站方式建站工具 2018易建站操作个人建站 vps日文网站建站琼海智能建站橙子建站专升本pboot批量建站湖北定制建站建站公司套路常见cms建站建站之星老版中铁建站专场diywap建站系统wordpress建站插件深圳google建站郴州建站费用soho建站图片泉州建站手段智梦建站0经验建站广州要建站建站中源码潍坊建站费用博客个人建站windows云建站电子建站教程个人pc建站html手机建站建站后台管理2021建站系统建站工具 phpwind常宁免费建站godaddylinux建站教程安徽php建站jn建站系统津市网络建站phpstudy快速建站竹子建站案例南通建站程序跨境出海建站建站手机商城永昌建站平台建站价格低城建站工作卫浴建站广告营口联想建站建站接项目武汉建站培训偃师企业建站frp映射建站桂城建站常用快速建站广东核建站专业建站营销天梯极速建站会宁建站科林建站系统天津建站程序免费 论坛 建站pc建站排行gtp如何建站盘锦免费建站自助建站 php品有建站亳州营销建站建站访问速度全渠道建站整体建站策划广元建站系统怀仁公司建站建站贸易php建站app破解如何建站教程2020年建站建站app推广长沙自助建站宁德自助建站福建站支wix建站工具nginx建站流程非凡返利建站威海建站推广定州免费建站外贸建站美国网站营销建站陕西古月建站睢宁建站公司医院建站方式ugo快速建站橙子建站cpi图片分类建站独立建站收益北海建站步骤建站环境工具freenom怎么建站建站微擎建站之家+vip大同智能建站建站大师陈诚创企建站django 内网建站武冈saas建站快速建站选择宁波建站咨询建站模板制作建站搭建环境企业标准建站周口模板建站泉州cms建站氢站建站厦门移动建站wordpress离线建站同创 企业建站萍乡莲花建站vps 建站赚钱多域名建站边检站 建站始末澳门品牌建站灯塔模板建站江夏建站集团餐饮建站平台4399萝卜建站橙子建站落都匀建站推广全椒云建站潍坊建站方法godaddylinux建站教程天津 建站 公司武冈saas建站

    合作伙伴

    凤巢SEO

    www.te3.com.cn
    dh.jsfengchao.com
    www.maijichuang.cn
    jl.urkeji.com
    www.akz.net.cn
    seo.urkeji.com
    www.8830000.cn
    www.28j.com.cn
    kuai.urkeji.com
    www.8830000.cn
    www.3phw.com
    top1.urkeji.com
    seo.china185.com
    www.he1tech.com
    www.bbswimming.cn
    niu.seo5951.com
    www.innatjerome.com
    jl.urkeji.com
    www.clhczx.cn
    idc.urkeji.com