lwip记录
Index of /releases/lwip/ (gnu.org)
以太网(Ethernet)是互联网技术的一种,由于它是在组网技术中占的比例最高,很多人 直接把以太网理解为互联网。 以太网是指遵守 IEEE 802.3 标准组成的局域网,由 IEEE 802.3 标准规定的主要是位于 参考模型的物理层(PHY)和数据链路层中的介质访问控制子层(MAC)。在家庭、企业和学 校所组建的 PC 局域网形式一般也是以太网,其标志是使用水晶头网线来连接(当然还有其 它形式)。 IEEE 还有其它局域网标准,如 IEEE 802.11 是无线局域网,俗称 Wi-Fi。 IEEE802.15 是个人域网,即蓝牙技术,其中的 802.15.4 标准则是 ZigBee 技术。 现阶段,工业控制、环境监测、智能家居的嵌入式设备产生了接入互联网的需求,利 用以太网技术,嵌入式设备可以非常容易地接入到现有的计算机网络中。
RAW/Callback API 的优点是显著的,但缺点也是显著的: (1)基于回调函数开发应用程序时的思维过程比较复杂。在后面与 RAW/Callback API 相关的章节中可以看到,利用回调函数去实现复杂的业务逻辑时,会很麻烦,而且代 码的可读性较差。 (2)在操作系统环境中,应用程序代码与内核代码处于同一个线程,虽然能够节省任 务间通信和切换任务的开销,但是相应地,应用程序的执行会制约内核程序的执行,不同 的应用程序之间也会互相制约。在应用程序执行的过程中,内核程序将不可能得到运行, 这会影响网络数据包的处理效率。如果应用程序占用的时间过长,而且碰巧这时又有大量 的数据包到达,由于内核代码长期得不到执行,网卡接收缓存里的数据包就持续积累,到 最后很可能因为满载而丢弃一些数据包,从而造成丢包的现象。
简单来说,NETCONN API 的优缺点是: (1)相较于 RAW/Callback API,NETCONN API 简化了编程工作,使用户可以按照 操作文件的方式来操作网络连接。但是,内核程序和网络应用程序之间的数据包传递,需 要依靠操作系统的信号量和邮箱机制完成,这需要耗费更多的时间和内存,另外还要加上 任务切换的时间开销,效率较低。 (2)相较于 Socket API,NETCONN API 避免了内核程序和网络应用程序之间的数据 拷贝,提高了数据递交的效率。但是,NETCONN API 的易用性不如 Socket API 好,它需 要用户对 LwIP 内核所使用数据结构有一定的了解。
SOCKET API Socket,即套接字,它对网络连接进行了高级的抽象,使得用户可以像操作文件一样 操作网络连接。它十分易用,许多网络开发人员最早接触的就是 Socket 编程,Socket 已经 成为了网络编程的标准。在不同的系统中,运行着不同的 TCP/IP 协议,但是只要它实现了 Socket 的接口,那么用 Socket 编写的网络应用程序就能在其中运行。可见用 Socket 编写的 网络应用程序具有很好的可移植性。 不同的系统有自己的一套 Socket 接口。Windows 系统中支持的是 WinSock, UNIX/Linux 系统中支持的是 BSD Socket,它们虽然风格不一致,但大同小异。LwIP 中的 Socket API 是 BSD Socket。但是 LwIP 并没有也没办法实现全部的 BSD Socket,如果开发 人员想要移植 UNIX/Linux 系统中的网络应用程序到使用 LwIP 的系统中,就要注意这一点。 相较于 NETCONN API, Socket API 具有更好的易用性。使用 Socket API 编写的程序 可读性好,便于维护,也便于移植到其它的系统中。Socket API 在内核程序和应用程序之 间存在数据的拷贝,这会降低数据递交的效率。另外,LwIP 的 Socket API 是基于 NETCONN API 实现的,所以效率上相较前者要打个折扣。
ethernetif_init()函数是在上层管理网卡 netif 的到时候会被调用的函数,如使用 netif_add()添加网卡的时候,就会调用 ethernetif_init()函数对网卡进行初始化,其实该函数 的最终调用的初始化函数就是 low_level_init()函数,我们目前只有一个网卡,就暂时不用 对该函数进行改写,直接使用即可,它内部会将网卡的 name、output、linkoutput 等字段进 行初始化,这样子就能将内核与网卡无缝连接起来。 ethernetif_input()函数的主要作用就是调用 low_level_input()函数从网卡中读取一个数据 包,然后解析该数据包的类型是属于 ARP 数据包还是 IP 数据包,再将包递交给上层,在 无操作系统的时候 ethernetif_input()就是一个可以直接使用的函数,已经无需我们自己去修 改,内核会周期性处理该接收函数。而在多线程操作系统的时候,我们一般会将其改写成 一个线程的形式,可以周期性去调用 low_level_input()网卡接收函数;也可以使用中断的形 式去处理,当这个线程将在尚未接收到数据包的时候,处于阻塞状态,当收到数据包的时 候,中断利用操作系统的 IPC 通信机制来唤醒线程去处理接收到的数据包,并将数据包递 交上层,这样子的效率会更加高效,事实上我们也是这样子处理的。
PBUF_POOL 类型的 pbuf 与 PBUF_RAM 类型的 pbuf 都是差不多的,其 pbuf 结构体与 数据缓冲区也是存在于连续的内存块中,但它的空间是通过内存池分配的,这种类型的 pbuf 可以在极短的时间内分配得到,因为这是内存池分配策略的优势,在网卡接收数据的 时候,LwIP 一般就使用这种类型的 pbuf 来存储接收到的数据,申请 PBUF_POOL 类型时, 协议栈会在内存池中分配适当的内存池个数以满足需要的数据区域大小。
pbuf 的释放要小心,如果 pbuf 是串成链表的话, pbuf 在释放的时候,就会把 pbuf 的 ref 值减 1,然后函数会判断 ref 减完之后是不是变成 0,如果是 0 就会根据 pbuf 的类型调 用内存池或者内存堆回收函数进行回收。然后这里就有个很危险的事,对于这个 pbuf_free() 函数,用户传递的参数必须是链表头指针,假如不是链表头而是指向链表中间的某个 pbuf 的指针,那就很容易出现问题,因为这个 pbuf_free()函数可不会帮我们检查是不是链表头, 这样子势必会导致一部分 pbuf 没被回收,意味着一部分内存池就这样被泄漏了,以后没办 法用了。同时,还可能将一些尚未处理的数据回收了,这样子整个系统就乱套了。
在以太网帧中,目标 MAC 地址可以分成三类,单播地址、多播地址和广播地址。单 播地址通常是与某个网卡的 MAC 地址对应,它要求以太网第一个字节的 bit0(最先发出去 的位)必须是 0;而多播地址则要求第一个字节的 bit0 为 1,这样子多播地址就不会与任何 网卡的 MAC 地址相同,可以被多个网卡同时接收;广播地址的 48 位 MAC 地址全为 1, 也就是 FF-FF-FF-FF-FF-FF, 同一局域网内的所有网卡都会收到广播的数据包。
所以 ARP 缓存表是一个动态更新的过程,为什么要动态更新呢?因为以太网的物理性 质并不能保证数据传输的是可靠的。以太网发送数据并不会知道对方是否已经介绍成功, 而两台主机的物理线路不可能一直保持有效畅通,那么如果不是动态更新的话,主机就不 会知道另一台主机是否在工作中,这样子发出去的数据是没有意义的。比如两台主机 A 和 B,一开始两台主机都是处于连接状态,能正常进行通信,但是某个时刻主机 B 断开了, 但是主机 A 不会知道主机 B 是否正常运行,因为以太网不会提示主机 B 已经断开,那么主 机 A 会一直按照 MAC 地址发送数据,而此时在物理链路层就已经是不通的,那么这些数 据是没有意义的,而如果 ARP 动态更新的话,主机 A 就会发出 ARP 请求包,如果得不到 主机 B 的回应,则说明无法与主机 B 进行通信,那么就会删除 ARP 表项,就无法进行通 信。
可能很多人都会有疑问:为什么 TCP/IP 协议在传输层与网络层都执行差错检测?首先, 在 IP 层只对 IP 首部计算了检验和,而传输层检验和是对整个 TCP/UDP 报文段进行的。这样子在每个路由器对 IP 数据报首部检查校验能提高效率,直到 IP 数据报到达目标 IP 地址。
IP 数据报分片
一个主机打算发送 4000 字节的 IP 数据报(20 字节 IP 首部加上 3980 字节 IP 数据区域, 假设没有 IP 数据报首部选项字段),且该数据报必须通过一条 MTU 为 1500 字节的以太网 链路。这就意味着源始 IP 数据报中 3980 字节数据必须被分配为 3 个独立的数据报分片 (其中的每个分片也是一个 IP 数据报)。假定初始 IP 数据报贴上的标识号为 666,那么第 一个分片的数据报总大小为 1500 字节(1480 字节数据大小+20 字节 IP 数据报首部),分 片偏移量为 0,第二个分片的数据报大小也为 1500 字节,分片偏移量为 185 (185*8=1480),第三个分片的数据报大小为 1040(3980-1480-1480+20),分片偏移量为 370(185+185)。
IP 数据报发送
IP 协议是网络层的主要协议,在上层传输协议(如 TCP/UDP)需要发送数据时,就会 将数据封装起来,然后传递到 IP 层,IP 层首先会根据上层协议的目标 IP 地址选择一个合 适的网卡进行发送数据,当 IP 协议获得数据后将其封装成 IP 数据报的格式,填写 IP 数据 报首部对应的各个字段,如目标 IP 地址、源 IP 地址、协议类型、生存时间等重要信息。 最后在 IP 层通过回调函数 netif->output(即 etharp_output()函数)将 IP 数据报投递给 ARP 协议,再调用网卡底层发送函数进行发送,这样子自上而下的数据就发送出去,IP 协议以 目标 IP 地址作为目标主机的身份地址。
ICMP 查询报文 我们知道,ping 命令使用的就是 ICMP 查询报文,若能 ping 成功,说明网卡、IP 层、 ICMP 层都能通信正常,所以能证明 LwIP 已经移植成功了,我们一般在移植完成的时候都 会测试一下 ping 命令,查看一下是否移植成功。
16位窗口大小
16位窗口大小表示接收方在接收数据时的可用缓冲区大小。该字段指示了发送方在不需要等待确认应答的情况下,可以连续发送给接收方的数据的最大量。
相关文章:
lwip记录
Index of /releases/lwip/ (gnu.org) 以太网(Ethernet)是互联网技术的一种,由于它是在组网技术中占的比例最高,很多人 直接把以太网理解为互联网。 以太网是指遵守 IEEE 802.3 标准组成的局域网,由 IEEE 802.3 标准规定的主要是位于 参考模…...
Redis清空缓存
尽管redis可以设置ttl过期时间进行指定key的定时删除,但是在某些场景下,比如: 测试时需要批量删除指定库下所有库下所有的数据,则会涉及到缓存清除的话题。 如下为具体的操作及说明: 场景类型操作指令清空当前库下所有…...
WPF 依赖注入启动的问题
原因是在App.xaml 设置了 StartupUri“MainWindow.xaml” 1.依赖注入后启动的主窗体存在无参构造 程序正常启动,但是主窗体界面会弹出2个窗体。 2.依赖注入后启动的主窗体存在有参构造 报错...
Arcgis经纬线标注设置(英文、刻度显示)
在arcgis软件中绘制地图边框,添加经纬度度时常常面临经纬度出现中文,如下图所示: 解决方法,设置一下Arcgis的语言 点击高级--确认 这样Arcgis就转为英文版了,此时在来看经纬线刻度的标注,自动变成英文...
【电子通识】案例:电缆的安装方式也会影响设备的可靠性?
背景 在日常生活中,我们常常会忽略一些看似微不足道的细节,但这些细节有时却能决定设备的寿命和安全性。比如,你知道吗?一根电缆的布置方式,可能会决定你的设备是否会因为冷凝水而损坏。 今天,我们就来聊聊…...
房屋装修费用预算表:45594 =未付14509 + 付清31085【时间:20250416】
文章目录 引言I 房屋装修费用预算表II 市场价参考防水搬运3000III 装修计划整体流程进度细节国补IV 付款凭证(销售单)伟星 PPR +PVC+太阳线+地漏=6500入户门设计通铺大板瓷砖 | 湿贴 3408(地)+3600(加)+5209(墙)=12217元门头铁空调引言 关注我,发送【装修记账】获取预…...
Python文件操作完全指南:从基础到高级应用
目录 一、文件基础概念 1.1 什么是文件? 1.2 文件的存储方式 文本文件 二进制文件 二、Python文件操作基础 2.1 文件操作三步曲 2.2 核心函数与方法 2.3 文件读取详解 基本读取示例 文件指针机制 2.4 文件打开模式 写入文件示例 2.5 高效读取大文件 三…...
03(总)-docker篇 Dockerfile镜像制作(jdk,jar)与jar包制作成docker容器方式
全文目录,一步到位 1.前言简介1.1 专栏传送门1.1.2 上文传送门 2. docker镜像制作一: jdk2.1 制作jdk镜像2.1.1 准备工作2.1.2 jdk镜像的Dockerfile2.1.3 基于Dockerfile构建镜像2.1.4 docker使用镜像运行容器2.1.5 进入jdk1.8容器内测试 3. docker镜像制作二: java镜像(jar包)…...
CUDA的安装
打开nvidia控制面板 找到组件 打开 CUDA Toolkit Archive | NVIDIA Developer 下载CUDA...
四六级听力调频广播有线传输无线覆盖系统:弥补单一发射系统安全缺陷,构建稳定可靠听力系统平台
四六级听力调频广播有线传输无线覆盖系统:弥补单一发射系统安全缺陷,构建稳定可靠听力系统平台 北京海特伟业科技有限公司任洪卓发布于2025年4月16日 随着英语四六级考试的规模不断扩大,听力考试部分的设备可靠性问题日益凸显。传统的无线发射系统存在…...
信创服务器-大国崛起,信创当道!
信创产业是数据安全、网络安全的基础,也是新基建的重要组成部分。在政策的推动下,2020-2022 年,中国信创服务器出货量整体呈现出快速增长的趋势,其中党政、电信、金融等领域采购频次高,单次采购量大,是中国…...
【仿Mudou库one thread per loop式并发服务器实现】SERVER服务器模块实现
SERVER服务器模块实现 1. Buffer模块2. Socket模块3. Channel模块4. Poller模块5. EventLoop模块5.1 TimerQueue模块5.2 TimeWheel整合到EventLoop5.1 EventLoop与线程结合5.2 EventLoop线程池 6. Connection模块7. Acceptor模块8. TcpServer模块 1. Buffer模块 Buffer模块&…...
冒泡与 qsort 排序策略集
今天我们要学习两种排序方法,分别是冒泡排序和qsort函数排序,冒泡排序相对qsort函数排序要简单一点,更易于理解。 1.冒泡排序 冒泡排序(Bubble Sort)是一种简单的排序算法,它通过重复遍历元素列并比较相邻元素来实现排…...
【Linux】第七章 控制对文件的访问
目录 1. 什么是文件系统权限?它是如何工作的?如何查看文件的权限? 2. 解释‘-rw-r--r--’这个字符串。 3. 使用什么命令可以更改文件和目录的权限?写出分别使用符号法和数值法将权限从 754 修改为 775 的命令。 4. 如何修改文…...
网站301搬家后谷歌一直不收录新页面怎么办?
当网站因更换域名或架构调整启用301重定向后,许多站长发现谷歌迟迟不收录新页面,甚至流量大幅下滑。 例如,301跳转设置错误可能导致权重传递失效,而新站内容与原站高度重复则可能被谷歌判定为“低价值页面”。 即使技术层面无误&a…...
socket 客户端和服务器通信
服务器 using BarrageGrab; using System; using System.Collections.Concurrent; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading;namespace Lyx {class Server{private TcpListener listener;private Concurre…...
C实现md5功能
md5在线验证: 在线MD5计算_ip33.com 代码如下: #include "md5.h" #include <string.h> #include "stdio.h"/** 32-bit integer manipulation macros (little endian)*/ #ifndef GET_ULONG_LE #define GET_ULONG_LE(n,b,i) …...
【项目】CherrySudio配置MCP服务器
CherrySudio配置MCP服务器 (一)Cherry Studio介绍(二)MCP服务环境搭建(1)环境准备(2)依赖组件安装<1> Bun和UV安装 (3)MCP服务器使用<1> 搜索MCP…...
第五节:React Hooks进阶篇-如何用useMemo/useCallback优化性能
反模式:滥用导致的内存开销React 19编译器自动Memoization原理 React Hooks 性能优化进阶:从手动到自动 Memoization (基于 React 18 及以下版本,结合 React 19 新特性分析) 一、useMemo/useCallback 的正确使用场景…...
【Qt】QWidget 核⼼属性详解
🍑个人主页:Jupiter. 🚀 所属专栏:QT 欢迎大家点赞收藏评论😊 目录 🏝 一.相关概念🎨二. 核⼼属性概览🍄2.1 enabled🥭2.2geometry🌸 2.3 windowTitle&#…...
如何知道raid 有问题了
在 Rocky Linux 8 上,你的服务器使用了 RAID5(根据 lsblk 输出,/dev/sda3、/dev/sdb1 和 /dev/sdc1 组成 md127 RAID5 阵列)。为了监控 RAID5 阵列中磁盘的健康状态,并及时发现某块磁盘损坏,可以通过以下方…...
操作系统之shell实现(上)
🌟 各位看官好,我是maomi_9526! 🌍 种一棵树最好是十年前,其次是现在! 🚀 今天来学习C语言的相关知识。 👍 如果觉得这篇文章有帮助,欢迎您一键三连,分享给更…...
精益数据分析(3/126):用数据驱动企业发展的深度解析
精益数据分析(3/126):用数据驱动企业发展的深度解析 大家好!一直以来,我都坚信在当今竞争激烈的商业环境中,数据是企业获得竞争优势的关键。最近深入研究《精益数据分析》这本书,收获颇丰&…...
React 18/19 使用Ant Design全局弹窗message
react 18 及以上,拥有并发模式,不允许在渲染过程中直接触发副作用(如弹窗、网络请求等),应将其放至 useEffect 中,确保其在渲染完成后调用 useEffect(() > {message.success(操作成功!);}, …...
【spark3.2.4】--完全分布式集群搭建
一、spark-env.sh 文件配置(操作路径:$SPARK_HOME/conf/spark-env.sh) 如果还没创建: cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh然后编辑(比如用 vim): vim…...
Web3技术下数字资产数据保护的实践探索
在这个信息爆炸的时代,数字资产已经成为我们生活中不可或缺的一部分。随着Web3技术的兴起,它以其去中心化、透明性和安全性的特点,为数字资产的管理和保护提供了新的解决方案。本文将探讨Web3技术在数字资产数据保护方面的实践探索࿰…...
灰度共生矩阵(GLCM)简介
灰度共生矩阵(GLCM)简介 1. 基本概念 灰度共生矩阵(Gray-level Co-occurrence Matrix, GLCM)是一种用于分析图像纹理特征的统计方法。它通过计算图像中特定空间关系的像素对出现的频率,来描述纹理的规律性1。 核心思想:统计图像中相距为d、方向为θ的两个像素点,分别具…...
基于javaEE+jqueryEasyUi+eclipseLink+MySQL的课程设计客房管理信息系统
1. 系统概述 1.1 系统功能概述 1)客户管理。能够增加一个客户,包括:身份证号、客户名称、出生年月、性别、联系电话、邮箱、会员类别等信息,默认会员类别为空;能够修改和删除客户信息;能够根据客户名称、联系电话查询…...
3款本周高潜力开源AI工具(多模态集成_隐私本地化)
本周聚焦 AI 技术领域,为开发者精选 3 款兼具创新性与实用性的开源项目。这些项目覆盖图像生成、智能助手、大语言模型框架等方向,通过技术突破解决开发痛点,助力开发者高效构建智能应用。 更多精彩科技推荐请点击->:更多精彩科…...
第一期第10讲
Linux常用的压缩文件扩展名有 .tar, .tar.bz2, .tar.gz 使用gzip压缩和解压缩 对单个文件压缩: gzip a.c //压缩a.c为a.c.gz gzip -d a.c.gz //解压缩为a.c 对文件夹压缩: gzip -r test //对test文件夹里的文件进行压缩,不对test进行压缩…...
计算方法在单细胞数据分析中的应用及AI拓展
单细胞技术的出现彻底革新了我们对生物系统的理解,揭示了看似同质的细胞群体内部复杂的异质性。为了从这些技术产生的大量复杂数据中提取有意义的见解,精密的计算方法是不可或缺的。 AI拓展 单细胞数据分析的核心在于处理和解释高维度数据的能力&#…...
如何配置环境变量HADOOP_HOMEM、AVEN_HOME?不配置会怎么样
以下是在不同操作系统中配置 HADOOP_HOME 和 JAVA_HOME 环境变量的方法,以及不配置可能产生的后果: 配置 HADOOP_HOME - Windows系统:下载并解压Hadoop安装包,然后右键“此电脑”,选择“属性”,点击“高级…...
【现代深度学习技术】循环神经网络03:语言模型和数据集
【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重…...
【学习笔记】Taming 3DGS泛读
原文链接:https://arxiv.org/abs/2406.15643 代码链接:https://github.com/nullptr81/3dgs-accel 一、学习内容 1.研究背景 3DGS在新视角合成(NVS)中表现优异,但优化过程低效: 存在 1)资源需…...
SAP系统交货已完成标识
问题:交货已完成标识 现象:采购订单一直处于未完成交货状态,及交货完成标识处于非勾选状态 原因:采购订单交货完成标识勾会在两种情况下勾选, a.交货数量在容差范围内; b.手动勾选。 某些特殊情况…...
【正点原子STM32MP257连载】第四章 ATK-DLMP257B功能测试——音频测试 #ES8388 #录音测试
1)实验平台:正点原子ATK-DLMP257B开发板 2)浏览产品:https://www.alientek.com/Product_Details/135.html 3)全套实验源码手册视频下载:正点原子资料下载中心 文章目录 第四章 ATK-DLMP257B功能测试——音频…...
WPF 使用 DI EF CORE SQLITE
WPF 使用 DI EF CORE SQLITE 1.安装 nuget包 <PackageReference Include"Microsoft.EntityFrameworkCore.Sqlite" Version"9.0.4" />2.创建DbContext的实现类,创建有参构造函数 public XXContext(DbContextOptions<XXXContext> o…...
探索鸿蒙沉浸式:打造无界交互体验
一、鸿蒙沉浸式简介 在鸿蒙系统中,沉浸式是一种极具特色的设计理念,它致力于让用户在使用应用时能够全身心投入到内容本身,而尽可能减少被系统界面元素的干扰。通常来说,就是将应用的内容区巧妙地延伸到状态栏和导航栏所在的界面…...
Linux红帽:RHCSA认证知识讲解(十 三)在serverb上破解root密码
Linux红帽:RHCSA认证知识讲解(十 三)在serverb上破解root密码 前言操作步骤 前言 在红帽 Linux 系统的管理工作中,系统管理员可能会遇到需要重置 root 密码的情况。本文将详细介绍如何通过救援模式进入系统并重新设置 root 密码。…...
【网络安全】谁入侵了我的调制解调器?(一)
文章目录 我被黑了159.65.76.209,你是谁?黑客攻击黑客?交出证据三年后我被黑了 两年前,在我家里使用家庭网络远程办公时,遇到了一件非常诡异的事情。当时,我正在利用一个“盲 XXE 漏洞”,这个漏洞需要借助一个外部 HTTP 服务器来“走私”文件。为了实现这一点,我在 AW…...
阿里一面:Nacos配置中心交互模型是 push 还是 pull ?(原理+源码分析)
对于Nacos大家应该都不太陌生,出身阿里名声在外,能做动态服务发现、配置管理,非常好用的一个工具。然而这样的技术用的人越多面试被问的概率也就越大,如果只停留在使用层面,那面试可能要吃大亏。 比如我们今天要讨论的…...
MySQL 慢查询日志深入分析与工具实战(mysqldumpslow pt-query-digest)
🎯 学习目标 • ✅ 熟悉慢查询日志结构与核心字段 • ✅ 掌握日志开启与 SQL 记录机制 • ✅ 使用 pt-query-digest 工具进行分析 • ✅ 解读分析结果并提出优化建议 📂 基本概念 项目 内容说明 功能 记录执行时间超过阈值的 SQL 启动参数…...
JVM:垃圾回收
一、垃圾回收概述 (1)垃圾回收主要解决的问题 内存溢出:当程序在运行过程中,所需的内存超出了 JVM 被分配到的内存空间时,就会发生内存溢出。垃圾回收会将不再被引用的对象进行回收,释放内存空间…...
与AI深度融合的Go开发框架sponge,解决使用cursor、trae等AI辅助编程工具开发项目时的部分痛点
摘要 AI 编程助手在近几年快速发展,帮助开发者提升了开发效率。然而,通用 AI 工具往往难以精准落地到具体业务与框架中。本文介绍了一款与 Go 框架深度融合的 AI 编程工具 —— sponge AI 助手。它不仅理解框架的结构,还能按照标准化流程自动…...
《AI大模型应知应会100篇》第21篇:Prompt设计原则:让大模型精准理解你的需求
第21篇:Prompt设计原则:让大模型精准理解你的需求 摘要 在与大模型交互时,如何高效地表达需求是决定输出质量的关键。本文将系统介绍高效Prompt设计的核心原则和方法论,并通过实战代码案例详细解释每个核心知识点,帮助…...
【更新完毕】2025泰迪杯数据挖掘竞赛A题数学建模思路代码文章教学:竞赛论文初步筛选系统
完整内容请看文末最后的推广群 基于自然语言处理的竞赛论文初步筛选系统 基于多模态分析的竞赛论文自动筛选与重复检测模型 摘要 随着大学生竞赛规模的不断扩大,参赛论文的数量激增,传统的人工筛选方法面临着工作量大、效率低且容易出错的问题。因此&…...
[Windows] 电脑自动备份插入的U盘数据
[Windows] 电脑自动备份U盘数据 链接:https://pan.xunlei.com/s/VONyazSEIqhnzZCHRlio9Vw2A1?pwdcmhc# [Windows] 电脑自动备份插入的U盘数据...
《JVM考古现场(二十一):奇点黎明·在事件视界编译时空曲率》
目录 楔子:事件视界警报 上卷时空曲率引擎 第一章:volatile场方程重构 第二章:synchronized黑洞能层 番外篇:时空涟漪观测站 中卷量子逃逸分析 第三章:柯西视界稳定性证明 第四章:白洞负熵连接 实战…...
list的一些常用接口
其实list的接口和前面的string和vector基本都是一样的,用法也基本类似,我们还是挑几个讲讲吧。 一.常用的接口 1.1 push_back 图中是一个空参构造加上一个push_back的使用,这两个接口的使用还是很简单的,看一下即可。下面是迭代器…...
芯洲SCT2434AQFPAR:3.6V-36V Vin, 3.5A, 高效率同步降压DCDC转换器
特性: AEC-Q100合格,结果如下:-器件温度等级1:-40C至125C环境工作温度范围宽输入电压范围:3.6V-36V持续输出电流3.5A 1V1%反馈参考电压集成60mΩ高侧功率MOSFET和36mΩ低侧功率MOSFET轻载PSM工作模式在睡眠模式下具有…...