【每日八股】计算机网络篇(三):IP
目录
- DNS 查询服务器的基本流程
- DNS 采用 TCP 还是 UDP,为什么?
- 默认使用 UDP 的原因
- 需要使用 TCP 的场景?
- 总结
- DNS 劫持是什么?解决办法?
- 浏览器输入一个 URL 到显示器显示的过程?
- URL 解析
- TCP 连接
- HTTP 请求
- 页面渲染
- 断开连接
- PING 如何工作?
- Cookie 和 Session 的区别是什么?
- Cookie
- Session
- 差别
- IPv4 和 IPv6 的区别?
- 什么是跨域?什么情况下会发生跨域请求?
- 概念
- 解决办法
DNS 查询服务器的基本流程
- 首先,用户在浏览器输入域名后,浏览器会先检查自身缓存,若缓存中存在且未过期,则直接返回对应的 IP 地址。若浏览器中无缓存,则操作系统检查本地 Hosts 文件和系统 DNS 缓存。
- 若前两步骤未命中,则向本地 DNS 服务器发送递归查询请求;
- 本地 DNS 服务器无缓存,则以 DNS 客户的身份向根域名服务器发出解析请求;
- 根域名服务器收到请求后,判断该域名所属域,将对应的顶级域名服务器的 IP 地址返回给本地域名服务器;
- 本地域名服务器向顶级域名服务器发出解析请求报文;
- 顶级域名服务器收到请求后,将对应的授权域名服务器的 IP 地址返回给本地域名服务器;
- 本地域名服务器向授权域名服务器发起解析请求;
- 授权域名服务器收到请求后,将查询结果返回给本地域名服务器;
- 本地域名服务器将查询结果保存到本地缓存,同时将 IP 地址返回给客户机;
- 用户通过获得的 IP 地址与目标服务器建立 TCP 连接,然后开始传输数据。
DNS 采用 TCP 还是 UDP,为什么?
DNS 主要使用 UDP(用户数据报协议),但在某些特定场景下会切换到 TCP(传输控制协议)。具体原因如下:
默认使用 UDP 的原因
高效性:UDP 是无连接的协议,无需建立和断开连接,减少了通信延迟。DNS 查询通常是简单的请求-响应模式,UDP 能更快地完成单次交互。
小数据包的适用性:DNS 的查询和响应通常较小(不超过 512 字节),UDP 单词传输即可满足需求。
低资源消耗:UDP 的头部开销更小(8 字节 vs. TCP 的 20 字节),适合高频的 DNS 查询场景。
需要使用 TCP 的场景?
响应数据过大:当 DNS 响应数据超过 512 字节(超过 UDP 的最大限制)时,服务器会返回截断标志(TC 位),客户端改用 TCP 重新请求(TCP 支持分段传输)。
区域传输:主 DNS 服务器向从服务器同步全量区域数据时,需通过 TCP 端口 53 完成,确保大量数据的可靠传输。
DNSSEC 拓展:启用 DNSSEC (DNS 安全拓展)后,数字签名会增加响应大小,可能超过 UDP 限制,强制使用 TCP。
可靠性要求:TCP 提供丢包重传、按需到达等机制,适合数据完整性要求高的场景(比如关键配置同步)。
总结
常规查询:UDP(快速、高效);
大规模传输及可靠性要求:TCP(如区域传输、大响应、DNSSEC)。
DNS 劫持是什么?解决办法?
DNS 劫持是一种网络攻击手段,攻击者通过篡改域名解析结果,将用户引导至虚假网站或插入广告。
常见形式如下:
- 路由器劫持:攻击者入侵路由器修改 DNS 设置;
- 本地劫持:恶意软件修改设备 hosts 文件或 DNS 配置;
- ISP 劫持:网络服务商主动劫持用于广告投放;
- 中间人攻击:在传输链路中截获并篡改 DNS 响应。
解决办法:
- 更换可信 DNS;
- 设备检查;
- 路由器防护;
- 网络加密;
- 定期更换重要账户密码;
- 启用双重身份验证;
- 使用网络监控工具(比如 Wireshark)检测异常请求;
浏览器输入一个 URL 到显示器显示的过程?
URL 解析
用户在浏览器输入域名后,浏览器首先从自身的缓存中查找是否存在域名,存在就取出对应的 IP 地址,否则去 OS 缓存查找。前两步均未命中的情况下,浏览器调用 OS 的 API 使操作系统开启 DNS 解析服务,递归地从本地 DNS 到 根域 DNS 再到顶级域 DNS 最后到权威域 DNS 请求解析,最终由权威域 DNS 返回域名的 IP 地址,浏览器会对其进行缓存。
TCP 连接
在 URL 解析过程中得到真实的 IP 地址后,浏览器会调用 Socket 函数,根据 IP 和端口与目标建立 TCP 连接。
HTTP 请求
浏览器向服务器发送一个 HTTP 请求,HTTP 协议是建立在 TCP 协议之上的应用层协议,其本质是在建立起的 TCP 连接之上,按照 HTTP 协议标准发送一个索要网页的请求。请求包括请求行、请求头、请求体三部分,有 GET、POST 等方法。
页面渲染
服务器在收到浏览器发送的 HTTP 请求之后,会将收到的 HTTP 报文封装成 HTTP Request 对象,并通过不同的 Web 服务器进行处理,处理完的结果以 HTTP Response 对象的形式返回,包括状态码、响应头和响应报文三部分。
断开连接
数据传输完毕后,客户端和服务端通过四次挥手断连。
PING 如何工作?
PING(Packet Internet Groper)是一种网络诊断工具,用于测试两台设备之间的连通性。其核心原理是通过 ICMP 协议(Internet Control Message Protocol)发送探测数据包并等待响应。
ICMP主要的功能包括:确认IP包是否成功送达目标地址、报告发送过程中IP包被废弃的原因、改善网络设置等。在IP通信中如果某个IP包因为某种原因未能达到目标地址,具体的原因将由ICMP通知。
PING 的工作流程如下:
- 发送 Echo Request:首先源设备构造一个 ICMP Echo Request 数据包,包括目标 IP、序列号和时间戳;
- 数据包经过路由器逐跳转发,没经过一个路由,TTL 减一,若 TTL 归零,则路由器丢弃包并返回 ICMP Time Exceeded 消息;
- 目标设备收到 Echo Request 后,检查 ICMP 报文合法性,构造 ICMP Echo Reply 报文,将 Reply 发回源设备;
- 源设备收到 Echo Reply 之后,计算往返时间 RTT,统计丢包率。
Cookie 和 Session 的区别是什么?
Cookie
Cookie 是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务器两个请求是否来自同一浏览器。
作用:
- 会话状态管理(如用户登录状态、购物车、游戏分数等其它需要记录的信息);
- 个性化设置(如用户自定义设置、主题等);
- 浏览器行为跟踪(分析用户行为等);
Session
Session代表着服务器和客户端一次会话的过程。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当客户端关闭会话,或者 Session 超时失效时会话结束。
差别
- 保存形式不同:Cookie 保存在客户端(浏览器),Session 保存在服务器;
- 存取方式不同:Cookie 只能保存 ASCII,Session 可保存任意数据类型;
- 有效期不同:Cookie 可设置为长时间保持,比如默认登录;Session 一般时效较短,客户端关闭或超时,Session 都会失效。
- 存储大小不同:单个 Cookie 保存的数据不超过 4K,Session 可存储的数据远高于 Cookie。
IPv4 和 IPv6 的区别?
- IPv6 的首部长度是 40 个字节,相对 IPv4 的首部长度 24 字节要长,但 IPv6 首部结构比 IPv4 简单。
- IPv6 把 IP 地址由 32 位增加到 128 位,从而能够支持更大的地址空间。IPv6 简化了路由, 加快了路由速度。
- IPv6 的可选项不放入报头,而是放在一个个独立的扩展头部。如果不指定路由器不会打开处理扩展头部, IPv6 放宽了对可选项长度的严格要求 (IPv4 的可选项总长最多为 40 字节) ,并可根据需要随时引入新选项。
- IPv6 协议支持地址自动配置,这是一种即插即用的机制。IPv6 节点通过地址自动配置得到 IPv6 地址和网关地址。IPv6 支持无状态地址自动配置和状态地址自动配置两种地址自动配置方式。它会给配置 128 位的地址带来很大的方便,特别是无状态地址自动配置。
- 在 IPv6 中加入了关于身份验证、数据一致性和保密性的内容。
什么是跨域?什么情况下会发生跨域请求?
概念
跨域(Cross-Origin)是指浏览器出于安全考虑,限制不同源(协议、域名、端口)之间的资源交互。常见的跨域场景包括:
- 前后端分离开发时,前端
localhost:3000
调用后端localhost:8080
; - 调用第三方 API(如支付接口、地图服务);
- 多子域名系统;
- CDN 资源加载;
解决办法
- Nginx:使用 Nginx 作为代理服务器和用户交互,用户就只需要在 80 端口上进行交互就可以了,这样就避免了跨域问题。
- JSONP:网页通过添加一个 script 元素,向服务器请求 JSON 数据,服务器收到请求后,将数据放在一个指定名字的回调函数的参数位置传回来。缺点是只支持 get 请求,不支持 post 请求。
- CORS:跨域资源分享。
相关文章:
【每日八股】计算机网络篇(三):IP
目录 DNS 查询服务器的基本流程DNS 采用 TCP 还是 UDP,为什么?默认使用 UDP 的原因需要使用 TCP 的场景?总结 DNS 劫持是什么?解决办法?浏览器输入一个 URL 到显示器显示的过程?URL 解析TCP 连接HTTP 请求页…...
vtk 3D坐标标尺应用 3D 刻度尺
2d刻度尺 : vtk 2D 刻度尺 2D 比例尺-CSDN博客 简介: 3D 刻度尺,也是常用功能,功能强大 3D 刻度尺 CubeAxesActor vtkCubeAxes调整坐标轴的刻度、原点和显示效果,包括关闭小标尺、固定坐标轴原点,以及设置FlyMode模…...
探秘基带算法:从原理到5G时代的通信变革【十】基带算法应用与对比
文章目录 三、算法在现代通信系统中的应用3.1 5G 通信中的应用3.1.1 信道编码与调制解调3.1.2 大规模 MIMO 技术3.1.3 案例分析:5G 基站与终端实现 3.2 卫星通信中的应用3.2.1 抗干扰与纠错编码3.2.2 信号处理与调制解调3.2.3 案例分析:卫星通信系统实例…...
消费级、工业级、汽车级、军工级、航天级芯片区别对比
汽车电子行业,经常会由于降本原因,听到“消规、工规、车规”方面的讨论。常见的芯片等级一般是按照使用温度、辐射、抗干扰等来分级。等级分为以下5类: 民用级(消费级)、工业级、汽车级(车规级)、军工级、航…...
迷你世界脚本背包接口:Backpack
背包接口:Backpack 彼得兔 更新时间: 2023-10-25 10:29:21 具体函数名及描述如下: 序号 函数名 函数描述 1 getBackpackBarIDRange(...) 获取道具背包栏ID范围(起始ID~结束ID) 2 getBackpackBarSize(...) 获取道具背包栏大小 3 setGridItem(.…...
javaSE基础
java跨平台性: Java 语言编写的程序,一次编译后,可以在多个操作系统上运行。是由于其增加了一个中间件 JVM,JVM 负责将 Java 字节码转换为特定平台的机器码,并执行。 Java 程序从源代码到运行需要经过三步:…...
电脑的系统版本是windows7的,下载pycharm的哪个版本比较好呢?
李升伟 整理 在Windows 7系统上选择PyCharm版本时,需综合考虑系统兼容性、Python版本适配性以及开发需求。以下是具体建议和操作指南: 1. 选择PyCharm的兼容版本 推荐版本:PyCharm 2020.3.5及之前的旧版本。 原因:自2021年起&a…...
【前端基础】3、HTML的常用元素(h、p、img、a、iframe、div、span)、不常用元素(strong、i、code、br)
HTML结构 一个HTML包含以下部分: 文档类型声明html元素 head元素body元素 例(CSDN): 一、文档类型声明 HTML最一方的文档称为:文档类型声明,用于声明文档类型。即:<!DOCTYPE html>…...
安装mysql
1、安装数据库 下载链接 https://downloads.mysql.com/archives/community/ 下载zip安装包,解压到某个路径下,将bin文件夹添加到系统环境变量 。 然后终端输入指令 mysql --version 验证 2、初始化数据库 打开命令提示符(以管理员身份&am…...
关于 QPalette设置按钮背景未显示出来 的解决方法
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/146047054 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…...
记一次ScopeSentry搭建
介绍 Scope Sentry是一款具有资产测绘、子域名枚举、信息泄露检测、漏洞扫描、目录扫描、子域名接管、爬虫、页面监控功能的工具,通过构建多个节点,自由选择节点运行扫描任务。当出现新漏洞时可以快速排查关注资产是否存在相关组件。 目前功能 插件系…...
【每日学点HarmonyOS Next知识】Web Header更新、状态变量嵌套问题、自定义弹窗、stack圆角、Flex换行问题
【每日学点HarmonyOS Next知识】Web Header更新、状态变量嵌套问题、自定义弹窗、stack圆角、Flex换行问题 1、HarmonyOS 有关webview Header无法更新的问题? 业务A页面 打开 webivew B页面,第一次打开带了header请求,然后退出webview B页面…...
优选算法的智慧之光:滑动窗口专题(二)
专栏:算法的魔法世界 个人主页:手握风云 目录 一、例题讲解 1.1. 最大连续1的个数 III 1.2. 找到字符串中所有字母异位词 1.3. 串联所有单词的子串 1.4. 最小覆盖子串 一、例题讲解 1.1. 最大连续1的个数 III 题目要求是二进制数组&am…...
Android ChatOn-v1.66.536-598-[构建于ChatGPT和GPT-4o之上]
ChatOn 链接:https://pan.xunlei.com/s/VOKYnq-i3C83CK-HJ1gfLf4gA1?pwdwzwc# 添加了最大无限积分 删除了所有调试信息 语言:全语言支持...
十一、Redis Sentinel(哨兵)—— 高可用架构与配置指南
Redis Sentinel(哨兵)—— 高可用架构与配置指南 在分布式应用中,Redis 主从复制(Master-Slave)虽然能提供读写分离的能力,但它 无法自动故障转移(failover)。如果主节点(Master)发生故障,系统管理员需要手动将某个从节点(Slave)提升为主节点,并重新配置所有从节…...
【STM32】玩转IIC之驱动MPU6050及姿态解算
目录 前言 一.MPU6050模块介绍 1.1MPU6050简介 1.2 MPU6050的引脚定义 1.3MPU6050寄存器解析 二.MPU6050驱动开发 2.1 配置寄存器 2.2对MPU6050寄存器进行读写 2.2.1 写入寄存器 2.2.2读取寄存器 2.3 初始化MPU6050 2.3.1 设置工作模式 2.3.2 配置采样率 2.3.3 启…...
《张一鸣,创业心路与算法思维》
张一鸣,多年如一日的阅读习惯。 爱读人物传记,称教科书式人类知识最浓缩的书,也爱看心理学,创业以及商业管理类的书。 冯仑,王石,联想,杰克韦尔奇,思科。 《乔布斯传》《埃隆马斯…...
深入浅出:UniApp 从入门到精通全指南
https://juejin.cn/post/7440119937644101684 uni-app官网 uniapp安卓离线打包流程_uniapp离线打包-CSDN博客 本文是关于 UniApp 从入门到精通的全指南,涵盖基础入门(环境搭建、创建项目、项目结构、编写运行)、核心概念与进阶知识&#x…...
低空经济-飞行数据平台 搭建可行方案
搭建一个飞行数据平台是低空经济中至关重要的一环,它能够实现对飞行器的实时监控、数据分析、路径优化以及安全管理。以下是搭建飞行数据平台的详细步骤和技术方案: 一、平台的核心功能 实时监控: 实时获取飞行器的位置、速度、高度、电池状态等数据。提供可视化界面,展示飞…...
【四.RAG技术与应用】【12.阿里云百炼应用(下):RAG的云端优化与扩展】
在上一篇文章中,我们聊了如何通过阿里云百炼平台快速搭建一个RAG(检索增强生成)应用,实现文档智能问答、知识库管理等基础能力。今天咱们继续深入,聚焦两个核心问题:如何通过云端技术优化RAG的效果,以及如何扩展RAG的应用边界。文章会穿插实战案例,手把手带你踩坑避雷。…...
3-7 WPS JS宏 工作表移动复制实例-2(多工作簿的多工作表合并)学习笔记
************************************************************************************************************** 点击进入 -我要自学网-国内领先的专业视频教程学习网站 *******************************************************************************************…...
【智能机器人开发全流程:硬件选型、软件架构与ROS实战,打造高效机器人系统】
文章目录 1. 硬件层设计(1) 传感器选型(2) 计算平台 2. 软件架构设计(1) 核心模块划分(2) 通信框架 3. 关键实现步骤(1) 硬件-软件接口开发(2) SLAM与导航实现(3) 仿真与测试 4. 典型框架示例基于ROS的移动机器人分层架构 5. 优化与扩展6. 开源项目参考 1. 硬件层设计 (1) 传感…...
【CSS—前端快速入门】CSS 选择器
CSS 1. CSS介绍 1.1 什么是CSS? CSS(Cascading Style Sheet),层叠样式表,用于控制页面的样式; CSS 能够对网页中元素位置的排版进行像素级精确控制,实现美化页面的效果;能够做到页面的样式和 结构分离; 1…...
二、QT和驱动模块实现智能家居-----5、通过QT控制LED
在QT界面,我们要实现点击“LED”按钮就可以控制板子上的LED。LED接线图如下: 在Linux 系统里,我们可以使用2种方法去操作上面的LED: ① 使用GPIO SYSFS系统:这需要一定的硬件知识,需要设置引脚的方向、数值…...
在UI设计中使用自定义控件
生成: 自定义控件完成: 看控件的父类是谁: 在想使用的窗口中: 拖动一个与他父类相同类型的控件: 点击控件右键 这样就是你自定义的控件了 运行后: //点击QSpinBox,滑块跟着移动void (QSpinBox::…...
docker 离线安装redis(离线)
docker离线安装redis时,我找了挺多资料都是需要先在另一台能联网的机器上先下载镜像,然后移动内网中的docker服务器进行部署,我也是这么操作的,但是必须拥有能上网的docker环境才能下载,我在github上找到了一种可以直接…...
利用python实现对Excel文件中数据元组的自定义排序
问题引入: 假设你是一个浙江省水果超市的老板,统筹11个下辖地市的水果产量。假设11个地市生产的水果包括:苹果、香蕉和西瓜。你如何快速得到某种水果产量突出(排名前几)的地市?产量落后(排名后…...
基于 Python 深度学习的电影评论情感分析可视化系统(2.0 全新升级)
基于 Python 深度学习的电影评论情感分析可视化系统,基于 Flask 深度学习,构建了一个 影评情感分析系统,能够 自动分析影评、计算情感趋势 并 可视化展示,对于电影行业具有重要参考价值! 基于 Python 深度学习的电影评…...
【MYSQL数据库异常处理】执行SQL语句报超时异常
MYSQL执行SQL语句异常:The last packet successfully received from the server was 100,107 milliseconds ago. The last packet sent successfully to the server was 100,101 milliseconds ago. 这个错误表明 MySQL 服务器与 JDBC 连接之间的通信超时了。通常由…...
docker拉取失败
备份原始配置文件 sudo cp /etc/docker/daemon.json /etc/docker/daemon.json.bak 清理或修复 daemon.json 文件 sudo nano /etc/docker/daemon.json 删除 文件中的所有内容,确保文件为空。 cv下面这个文件内容 { "registry-mirrors": [ &…...
Linux的一些配置(网络建设与运维)
for i in 的指令使用集 传输内容指令 for i in {1..7};do ssh 10.4.220.10${i} "指令";done 传输文件指令 for i in {1..7};do scp 文件 root10.4.220.10${i}:文件位置;done DNS循环内容指令 for i in {1..7};do echo "linux$i A 10.4.220.10$i" >> …...
嵌入式L6计算机网络
Telnet不加密 socket是应用层和下面的内核...
大型语言模型演变之路:从Transformer到DeepSeek-R1
大型语言模型的崛起被认为是人工智能领域的一次革命,从2017年Transformer架构的引入开始,到2025年DeepSeek-R1的推出,每一步都在不断改变着人机交互的方式,推动着学术界与产业界的深度融合。 1. Transformer的引领(201…...
Idea配置注释模板
一、配置类注释模板 打开IDEA,打开settings(快捷键:Ctrl Alt s),选择Editor,找到File and Code Templates 这里以设置class文件为例,点击Class,在右侧配置以下内容 #if (${PACKAGE_NAME} && $…...
通过计费集成和警报监控 Elasticsearch Service 成本
作者:来自 Elastic Alexis Charveriat 使用 Elasticsearch 服务计费集成来跟踪、定制和提醒 Elasticsearch 服务费用。 监控和管理你的Elasticsearch服务(ESS)使用情况和成本对高效运营至关重要。 Elasticsearch服务计费集成提供了一种简化的…...
50.xilinx fir滤波器系数重加载如何控制
, 注意:matlab量化后的滤波器系数为有符号数,它是以补码形式存储的,手动计算验证时注意转换为负数对应数值进行计算。...
每日一题——接雨水
接雨水问题详解 视频学习推荐 建议先参考以下视频进行学习: 问题描述 给定一个非负整数数组 height,表示每个宽度为 1 的柱子的高度图。计算按此排列的柱子,下雨之后能接多少雨水。 示例 示例 1: 输入:height …...
【Flink银行反欺诈系统设计方案】1.短时间内多次大额交易场景的flink与cep的实现
【flink应用系列】1.Flink银行反欺诈系统设计方案 1. 经典案例:短时间内多次大额交易1.1 场景描述1.2 风险判定逻辑 2. 使用Flink实现2.1 实现思路2.2 代码实现2.3 使用Flink流处理 3. 使用Flink CEP实现3.1 实现思路3.2 代码实现 4. 总结 1. 经典案例:短…...
【15】蚂蚁链产品与服务
15-1 蚂蚁链一体机 蚂蚁链一体机概述 蚂蚁链一体机是深度融合软硬件技术、针对区块链技术特色打造的软硬一体化服务器。面对区块链技术落地中的性能、安全和隐私等技术挑战,结合自主硬件技术,打造了高性能、强隐私和高安全的软硬件一体化服务器&#x…...
DeepSeek:如何通过自然语言生成HTML文件与原型图?
在当今快节奏的开发与设计环境中,快速生成HTML文件或原型图是每个开发者与设计师的迫切需求。虽然DeepSeek无法直接生成图片,但它却能够通过自然语言生成流程图、原型图以及交互式页面,甚至可以直接输出HTML代码。本文将详细介绍如何与DeepSe…...
【JAVA架构师成长之路】【持久层】第2集:SQL常用优化手段
课程标题:SQL常用优化手段——15分钟快速提升数据库性能 目标:掌握10+核心SQL优化技巧,解决慢查询、高负载等生产问题 0-1分钟:优化核心原则——减少数据扫描量 本质逻辑:通过索引、分页、过滤条件等手段,最小化磁盘I/O和内存计算。 反例:SELECT * FROM orders(全表扫…...
文件上传和下载前后端交互逻辑
上传】 1、后端给前端一个上传接口:进行文件上传,上传成功后,该接口返回文件的路径,名称,id 2、表单提交接口,提交表单时,将文件的id和表单信息一块提交给后台,实现文件和表单的绑…...
全向广播扬声器在油气田中的关键应用 全方位守护安全
油气田作为高风险作业场所,安全生产始终是重中之重。在紧急情况下,如何快速、有效地传达信息,确保人员安全撤离,是油气田安全管理的关键环节。全向广播扬声器凭借其全方位覆盖、高音质输出和强大的环境适应性,成为油气…...
PHP之运算符
在你有别的编程语言的基础下,你想学习PHP,可能要了解的一些关于运算符的信息。 三元运算符,短径求值,为空判断 echo 1 ? "b" : "c";//第一个为真时返回第一个,为假时返回第二个 echo 1 ?: &qu…...
hive之lag函数
从博客上发现两个面试题,其中有个用到了lag函数。整理学习 LAG 函数是 Hive 中常用的窗口函数,用于访问同一分区内 前一行(或前 N 行)的数据。它在分析时间序列数据、计算相邻记录差异等场景中非常有用。 一、语法 LAG(column,…...
3427. 变长子数组求和
给你一个长度为 n 的整数数组 nums 。对于 每个 下标 i(0 < i < n),定义对应的子数组 nums[start ... i](start max(0, i - nums[i]))。 返回为数组中每个下标定义的子数组中所有元素的总和。 子数组 是数组中…...
RabbitMQ 2025/3/5
高性能异步通信组件。 同步调用 以支付为例: 可见容易发生雪崩。 异步调用 以支付为例: 支付服务当甩手掌柜了,不管后面的几个服务的结果。只管库库发,后面那几个服务想取的时候就取,因为消息代理里可以一直装&#x…...
C#+Halcon 检测稳定性提升的方式
前言 众所周知,C#是一个带垃圾回收机制的语言,开发过程中不需要考虑垃圾回收,你就可劲造吧。但我们在设计图像处理软件时,应时刻对图像等大内存资源进行管控,做到自行管控,及时释放,不应将其交…...
第一个Hadoop程序
编写和运行第一个 Hadoop 程序是学习 Hadoop 的重要步骤。以下是一个经典的“WordCount”程序示例,它统计文本文件中每个单词出现的次数。我们将使用 Java 编写 MapReduce 程序,并在 Hadoop 集群上运行它。 一、WordCount 程序概述 WordCount 是 Hadoo…...
Leetcode 378-有序矩阵中第 K 小的元素
给你一个 n x n 矩阵 matrix ,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。 请注意,它是 排序后 的第 k 小元素,而不是第 k 个 不同 的元素。 你必须找到一个内存复杂度优于 O(n2) 的解决方案。 示例 1࿱…...