VoIP技术全面深度学习指南:从原理到实践的认知进化

在这里插入图片描述


一、VoIP技术的本质认知与历史演进

1.1 技术本质的深层理解

VoIP(Voice over Internet Protocol,IP语音传输)从根本上代表了通信技术的范式转换。这不仅仅是将模拟语音信号数字化那么简单,而是将传统的电路交换模式彻底转向包交换模式的革命性变革。

技术本质:VoIP通过将语音信号转换为数字数据包,在IP网络上进行传输,实现了从专用电话网络到通用数据网络的融合

传统PSTN(Public Switched Telephone Network,公共交换电话网)采用电路交换技术,为每个通话建立专用的物理连接路径。这种方式虽然保证了通话质量的稳定性,但存在资源利用率低、成本高昂、扩展性差等根本性问题。

VoIP技术的核心价值在于将语音通信从物理层面的约束中解放出来,使其能够与现代互联网基础设施完全融合。这种融合不仅带来了成本优势,更重要的是开启了多媒体通信、智能路由、灵活部署等新的可能性。

1.2 历史演进中的技术驱动力

VoIP技术的发展历程体现了多种技术力量的汇聚:

1990年代早期数字信号处理技术的成熟为语音编解码算法的发展奠定了基础

1995年:VocalTec公司推出首个商用Internet电话软件,标志着VoIP技术的商业化起点

1996年ITU-T发布H.323标准,为多媒体通信提供了标准化框架

1999年IETF发布RFC 2543,定义了SIP协议,为VoIP提供了更简洁灵活的信令机制

2003年:RFC 3550正式标准化RTP协议,奠定了实时媒体传输的技术基础

这一演进过程反映了标准化组织、设备制造商、服务提供商等各方参与者在技术发展中的协同作用。每个阶段的技术突破都是为了解决特定的技术挑战,从而推动整个生态系统的成熟。


二、核心协议架构与技术机制

2.1 分层协议体系结构

VoIP系统的技术架构体现了网络通信的分层设计思想,每一层都承担着特定的功能职责:

应用层:SIP、H.323等信令协议负责会话建立、修改和终止
传输层:RTP/RTCP协议处理实时媒体流传输
网络层:IP协议提供端到端的数据包路由
数据链路层:以太网、Wi-Fi等提供物理传输介质

2.1.1 SIP协议的技术深度解析

SIP(Session Initiation Protocol)作为IETF标准化的应用层协议,其设计哲学体现了互联网协议的核心特征:简单性、可扩展性和开放性。

SIP协议采用客户端-服务器模型,其中UAC(User Agent Client)发起请求,UAS(User Agent Server)处理请求并返回响应。这种模型的优势在于支持分布式部署和负载均衡。

SIP消息结构:采用类似HTTP的文本格式,包含请求行/状态行、消息头部和消息体

SIP协议的核心方法包括:

  • INVITE:建立会话
  • ACK:确认最终响应
  • BYE:终止会话
  • CANCEL:取消待处理的请求
  • REGISTER:注册用户位置信息
  • OPTIONS:查询服务器能力

2.1.2 H.323协议栈的技术特性

H.323作为ITU-T制定的多媒体通信标准,其技术架构更加复杂但功能更为完整。H.323不是单一协议,而是一个协议套件:

H.225.0:负责呼叫信令和RAS(Registration, Admission, Status)管理
H.245:处理媒体协商和控制
H.235:提供安全机制
H.450:补充服务定义

H.323的技术优势在于其成熟的网守(Gatekeeper)架构,能够提供集中化的呼叫控制、地址解析和带宽管理功能。

2.2 实时传输协议RTP/RTCP技术机制

2.2.1 RTP协议的实时传输保障

RTP(Real-time Transport Protocol)协议专门为实时应用设计,其技术特性包括:

时间戳机制:每个RTP包都包含时间戳,用于媒体同步和抖动缓冲
序列号:用于检测包丢失和重排序
负载类型标识:指示媒体编码格式
同步源标识符:区分不同的媒体流

RTP包头结构包含12字节的固定部分:

  • V(版本):2位,当前为版本2
  • P(填充):1位,指示是否有填充字节
  • X(扩展):1位,指示是否有扩展头部
  • CC(CSRC计数):4位,CSRC标识符的数量
  • M(标记):1位,应用特定的标记位
  • PT(负载类型):7位,指示负载格式
  • 序列号:16位,用于检测丢包和重排序
  • 时间戳:32位,采样时刻
  • SSRC:32位,同步源标识符

2.2.2 RTCP的质量监控机制

RTCP(RTP Control Protocol)作为RTP的伴随协议,提供关键的质量监控功能:

发送者报告(SR):包含发送统计信息和时间戳关联
接收者报告(RR):包含接收质量统计
源描述(SDES):提供参与者信息
再见消息(BYE):通知离开会话
应用特定消息(APP):扩展功能

RTCP的带宽控制机制确保控制流量不超过总带宽的5%,这种设计体现了实时应用对带宽效率的严格要求。


三、编解码技术与音频处理机制

3.1 语音编解码的技术原理

语音编解码器(Codec)是VoIP系统的核心组件,其技术发展反映了数字信号处理领域的不断进步。编解码技术需要在三个关键指标间寻求平衡:

音质:通过MOS(Mean Opinion Score)评分量化,范围1-5分
带宽消耗:影响网络资源利用和运营成本
计算复杂度:决定设备功耗和处理延迟

3.1.1 主流编解码器技术特性

G.711作为最基础的编解码标准,采用PCM(Pulse Code Modulation)技术:

  • 采样率:8kHz
  • 量化精度:8位(经过压缩的14位线性样本)
  • 比特率:64 kbps
  • 算法复杂度:极低(无状态编解码)
  • 音质:MOS 4.1(接近PSTN质量)

G.711包含两种算法:

  • μ-law:主要用于北美和日本
  • A-law:主要用于欧洲和世界其他地区

G.729采用CS-ACELP(Conjugate-Structure Algebraic Code Excited Linear Prediction)算法:

  • 帧长:10ms
  • 比特率:8 kbps
  • 算法延迟:15ms(10ms帧长 + 5ms前瞻)
  • 音质:MOS 3.92
  • 复杂度:中等(有状态编解码)

G.729的变种包括:

  • G.729A:降低复杂度版本,与G.729兼容
  • G.729B:增加VAD(Voice Activity Detection)和CNG(Comfort Noise Generation)
  • G.729AB:结合A和B的特性

3.1.2 新一代编解码技术

Opus编解码器代表了音频编码技术的最新发展,其技术特性包括:

  • 可变比特率:6-510 kbps
  • 自适应采样率:8-48 kHz
  • 低延迟:2.5-60ms
  • 高音质:在相同比特率下优于传统编解码器

Opus的技术优势在于其混合架构,结合了SILK(用于语音)和CELT(用于音乐)两种算法,能够根据输入信号特性自动选择最优编码方式。

3.2 数字信号处理技术

3.2.1 语音增强算法

现代VoIP系统集成了多种语音增强技术:

回声消除(AEC, Acoustic Echo Cancellation):消除扬声器信号对麦克风的反馈
噪声抑制(NS, Noise Suppression):减少背景噪声干扰
自动增益控制(AGC, Automatic Gain Control):维持音量一致性
语音活动检测(VAD):区分语音和静音段,节省带宽

这些算法的实现通常基于自适应滤波谱减法维纳滤波等数字信号处理技术。

3.2.2 抖动缓冲管理

网络抖动是VoIP面临的核心挑战之一。抖动缓冲器(Jitter Buffer)通过以下机制来平滑网络延迟变化:

自适应缓冲:根据网络条件动态调整缓冲深度
包丢失处理:通过FEC(Forward Error Correction)或重传机制恢复丢失数据
延迟优化:在音质和延迟间寻求最优平衡


四、网络传输与服务质量保障

4.1 IP网络传输特性分析

IP网络的尽力而为(Best Effort)服务模型对实时通信应用带来了根本性挑战:

延迟变化:包传输时间的不确定性影响语音连续性
包丢失:网络拥塞导致的数据丢失影响音质
带宽波动:可用带宽的变化影响编解码器选择
路由变化:网络路径改变可能导致延迟突变

4.1.1 QoS机制与实现

服务质量(Quality of Service)保障是VoIP部署的关键技术要求:

DiffServ(Differentiated Services)模型通过DSCP标记实现流量分类:

  • EF(Expedited Forwarding):用于语音流量,优先级最高
  • AF(Assured Forwarding):用于视频流量,提供带宽保证
  • BE(Best Effort):用于数据流量,无特殊保证

流量整形队列管理算法包括:

  • 令牌桶:控制流量突发
  • 优先级队列:为关键流量提供优先处理
  • 加权公平队列:在不同流量间分配带宽

4.1.2 网络规划与容量计算

VoIP网络的带宽需求计算需要考虑多个层面的开销:

以G.711编解码器为例(20ms打包间隔):

  • 语音负载:160字节
  • RTP头部:12字节
  • UDP头部:8字节
  • IP头部:20字节
  • 以太网头部:18字节(包含前导码和校验)

总包大小:218字节
包发送频率:50包/秒
总带宽需求:218 × 8 × 50 = 87.2 kbps

当使用cRTP(compressed RTP)时,RTP/UDP/IP头部可压缩至2-4字节,显著降低带宽需求。

4.2 NAT穿透与防火墙处理

4.2.1 NAT问题的技术挑战

NAT(Network Address Translation)给VoIP带来的技术挑战包括:

地址转换问题:SIP消息中的IP地址信息与实际网络拓扑不符
端口映射问题:RTP使用的动态端口无法预先配置映射
连接方向限制:NAT设备通常只允许内部发起的连接

4.2.2 NAT穿透解决方案

STUN(Session Traversal Utilities for NAT)协议帮助终端发现其公网地址和NAT类型:

  • Full Cone NAT:映射端口对所有外部地址开放
  • Restricted Cone NAT:映射端口仅对特定外部地址开放
  • Port Restricted Cone NAT:映射端口仅对特定外部地址和端口开放
  • Symmetric NAT:为不同的外部地址分配不同的映射端口

TURN(Traversal Using Relays around NAT)服务器为无法直接通信的终端提供中继服务。

ICE(Interactive Connectivity Establishment)框架整合了STUN、TURN等技术,通过候选地址收集、连通性检查、候选地址选择等步骤建立最优媒体路径。


五、安全机制与威胁防护

5.1 VoIP安全威胁分析

VoIP系统面临的安全威胁具有多层次、多维度的特点:

5.1.1 网络层面威胁

窃听攻击:未加密的RTP流可被网络监听工具截获
中间人攻击:攻击者插入通信路径,篡改或劫持通话
拒绝服务攻击:通过flooding等方式使服务不可用
网络重放攻击:重播截获的认证信息进行非法访问

5.1.2 应用层面威胁

注册劫持:伪造注册消息,劫持用户身份
呼叫劫持:重定向呼叫到恶意目标
话费欺诈:利用系统漏洞进行未授权的长途呼叫
垃圾电话(SPIT, Spam over Internet Telephony):大量发送骚扰电话

5.2 安全防护技术实现

5.2.1 传输层安全

TLS(Transport Layer Security)为SIP信令提供端到端加密:

  • 身份认证:通过数字证书验证通信端点身份
  • 完整性保护:通过消息认证码检测篡改
  • 机密性保护:通过对称加密保护消息内容

SRTP(Secure Real-time Transport Protocol)为媒体流提供安全保护:

  • AES加密算法保护语音数据
  • HMAC-SHA1提供消息认证
  • 密钥管理通过SDES(SDP Security Descriptions)或DTLS-SRTP实现

5.2.2 身份认证与访问控制

摘要认证(Digest Authentication)基于HTTP摘要认证机制:

  • 避免密码明文传输
  • 防止重放攻击
  • 支持双向认证

基于证书的认证提供更强的安全保障:

  • PKI(Public Key Infrastructure)支持
  • X.509数字证书
  • OCSP(Online Certificate Status Protocol)证书状态检查

六、现代VoIP技术发展趋势

6.1 WebRTC技术的革命性影响

WebRTC(Web Real-Time Communication)代表了VoIP技术发展的重要方向,其技术特性包括:

浏览器原生支持:无需安装插件即可实现音视频通信
端到端加密:默认启用DTLS-SRTP安全机制
自适应编解码:支持Opus、VP8/VP9等现代编解码器
智能网络适应:集成ICE、STUN、TURN等NAT穿透技术

WebRTC的技术架构包括三个核心API:

  • MediaStream:捕获和播放音视频
  • RTCPeerConnection:建立P2P连接
  • RTCDataChannel:传输任意数据

6.1.1 WebRTC与传统VoIP的融合

WebRTC与SIP/H.323等传统VoIP协议的互操作成为技术发展重点:

  • SIP over WebSocket:在Web环境中使用SIP协议
  • WebRTC Gateway:在WebRTC和传统VoIP间提供协议转换
  • 统一通信平台:整合多种通信技术提供一致用户体验

6.2 人工智能与VoIP的深度融合

6.2.1 AI增强的语音处理

人工智能技术正在革命性地改变VoIP的语音处理能力:

深度学习降噪:基于神经网络的噪声抑制算法,效果远超传统方法
语音增强:AI算法能够在极端噪声环境下保持语音清晰度
实时语音转文字:支持多语言、方言识别的转录服务
情感分析:实时分析通话情绪,为客服质量监控提供数据支持

6.2.2 智能呼叫路由与分析

AI驱动的呼叫管理功能包括:

  • 预测性路由:基于历史数据优化呼叫路径
  • 动态负载均衡:根据实时网络状况调整流量分配
  • 异常检测:自动识别网络问题和安全威胁
  • 用户行为分析:为个性化服务提供数据支持

6.3 5G网络对VoIP的技术推动

6.3.1 5G技术特性与VoIP需求匹配

5G网络的技术特性为VoIP应用带来了新的可能性:

超低延迟:1ms的空口延迟为实时通信提供理想条件
高带宽:支持高清音频、4K视频等高质量媒体应用
大连接密度:支持IoT设备的大规模VoIP应用
网络切片:为不同应用提供定制化的网络服务质量

6.3.2 边缘计算与VoIP服务

MEC(Multi-access Edge Computing)将VoIP服务部署到网络边缘:

  • 延迟优化:就近处理减少端到端延迟
  • 带宽节省:本地缓存减少核心网流量
  • 服务定制:为特定区域提供个性化服务
  • 可靠性提升:边缘部署提高服务可用性

七、VoIP系统部署与运维实践

7.1 网络架构设计原则

成功的VoIP部署需要遵循系统性的设计原则:

7.1.1 分层网络架构

接入层:为终端用户提供网络接入,需考虑PoE供电、VLAN隔离、QoS标记
汇聚层:汇聚多个接入层流量,实施QoS策略、VLAN路由
核心层:提供高速背板交换,确保低延迟转发
WAN边界:连接外部网络,实施安全策略、带宽管理

7.1.2 容量规划方法论

VoIP网络的容量规划需要考虑多个维度:

并发呼叫容量计算:

  • 基于爱尔兰B公式计算阻塞概率
  • 考虑忙时呼叫尝试(BHCA)和平均呼叫保持时间
  • 预留**20-30%**的容量余量应对突发流量

网络带宽规划

  • 语音流量:基于编解码器和并发呼叫数量
  • 信令流量:通常占总流量的5-10%
  • 管理流量:包括监控、计费、配置等

7.2 监控与故障诊断

7.2.1 关键性能指标(KPI)

VoIP系统的运维需要持续监控以下关键指标:

呼叫成功率(ASR, Answer Seizure Ratio):成功建立的呼叫占总呼叫尝试的比例
呼叫质量评分(MOS):基于R值计算的通话质量评估
网络延迟:端到端传输延迟,目标值<150ms
丢包率:RTP包丢失比例,目标值<1%
抖动:包到达时间变化,目标值<30ms

7.2.2 故障诊断方法

分层诊断方法

  1. 物理层:检查网络连接、设备状态
  2. 网络层:验证IP连通性、路由配置
  3. 传输层:检查端口开放、防火墙配置
  4. 应用层:分析SIP消息、媒体协商过程

工具链支持

  • Wireshark:网络包捕获和分析
  • SIPp:SIP协议压力测试
  • Homer:VoIP流量监控和分析
  • PRTG:网络性能监控

八、未来展望与认知边界

8.1 技术发展趋势的理性分析

作为技术专家,我们需要认识到VoIP技术发展的客观规律和局限性:

8.1.1 技术成熟度的客观评估

当前VoIP技术已经达到相当的成熟度,但仍存在一些根本性挑战:

网络依赖性:VoIP服务质量高度依赖底层网络基础设施
标准碎片化:多种协议标准并存,互操作性仍需改进
安全复杂性:安全威胁的多样性要求持续的防护技术发展
服务质量保证:在公共互联网上提供电信级服务质量仍具挑战性

8.1.2 技术发展的边界思考

我们必须承认技术发展的边界和不确定性:

物理限制:光速限制了全球通信的最小延迟,这是任何技术都无法突破的物理边界。

经济约束:技术先进性与部署成本之间需要平衡,最优技术未必是最经济的选择。

标准化周期:技术标准的制定和推广需要时间,快速技术变化与标准稳定性之间存在张力。

8.2 对读者的认知引导

8.2.1 独立思考的重要性

作为VoIP技术的学习者,您需要培养以下认知能力:

批判性分析:对任何技术方案都要问"为什么",理解其适用场景和限制条件
系统性思维:VoIP不是孤立的技术,需要在整体网络架构中考虑其作用
持续学习:技术快速发展要求持续更新知识体系
实践验证:理论知识需要通过实际部署和运维经验来验证和深化

8.2.2 技术决策的思考框架

在面对具体的VoIP技术选择时,建议采用以下思考框架:

需求分析:明确业务需求、用户规模、质量要求、预算约束等关键因素。

技术评估:从功能完整性、性能指标、扩展能力、安全性等维度评估不同方案。

风险评估:考虑技术风险、供应商风险、运维风险等潜在问题。

总体拥有成本:不仅考虑初始投资,还要考虑运维、升级、培训等长期成本。


专业术语表

ACELP(Algebraic Code Excited Linear Prediction):代数码激励线性预测,一种高效的语音编码算法

AEC(Acoustic Echo Cancellation):声学回声消除,消除扬声器到麦克风的声音反馈

ASR(Answer Seizure Ratio):应答占用比,衡量呼叫成功建立的比例

BHCA(Busy Hour Call Attempts):忙时呼叫尝试数,网络容量规划的关键指标

CODEC(Coder-Decoder):编解码器,将模拟信号转换为数字信号的设备或算法

cRTP(compressed RTP):压缩RTP,减少RTP包头开销的技术

CSRC(Contributing Source):贡献源,RTP中标识混合器输入源的标识符

DTLS(Datagram Transport Layer Security):数据报传输层安全,为UDP提供安全保护

DTMF(Dual-Tone Multi-Frequency):双音多频,电话按键音信号

FEC(Forward Error Correction):前向纠错,通过冗余信息恢复丢失数据

ICE(Interactive Connectivity Establishment):交互式连接建立,NAT穿透框架

MOS(Mean Opinion Score):平均主观评分,语音质量评估标准

PCM(Pulse Code Modulation):脉冲编码调制,数字音频编码的基础技术

PSTN(Public Switched Telephone Network):公共交换电话网,传统电话系统

QoS(Quality of Service):服务质量,网络性能保障机制

RAS(Registration, Admission, Status):注册、准入、状态,H.323协议组件

RTCP(RTP Control Protocol):RTP控制协议,提供媒体传输质量反馈

RTP(Real-time Transport Protocol):实时传输协议,承载多媒体数据

SDP(Session Description Protocol):会话描述协议,描述多媒体会话参数

SIP(Session Initiation Protocol):会话初始协议,VoIP信令协议

SRTP(Secure Real-time Transport Protocol):安全实时传输协议,RTP的安全扩展

SSRC(Synchronization Source):同步源,RTP中标识媒体流源的标识符

STUN(Session Traversal Utilities for NAT):NAT会话穿越实用程序

TLS(Transport Layer Security):传输层安全,为TCP连接提供安全保护

TURN(Traversal Using Relays around NAT):使用中继穿越NAT,NAT穿透技术

UAC(User Agent Client):用户代理客户端,SIP中发起请求的实体

UAS(User Agent Server):用户代理服务器,SIP中处理请求的实体

VAD(Voice Activity Detection):语音活动检测,区分语音和静音的算法

WebRTC(Web Real-Time Communication):Web实时通信,浏览器原生多媒体通信技术

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/916893.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/916893.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS Nginx 1.13.9 部署文档

以下是 Nginx 1.13.9 的详细安装步骤&#xff08;基于 CentOS/Ubuntu 系统&#xff09;&#xff1a;1. 安装依赖 CentOS/RHEL sudo yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-develUbuntu/Debian sudo apt update && sudo apt install -y b…

CSS-in-JS 动态主题切换与首屏渲染优化

动态主题切换的实现方式1. 使用 CSS 变量&#xff08;CSS Custom Properties&#xff09;CSS 变量是实现主题切换最直接的方式&#xff1a;:root {--primary-color: #4285f4;--background-color: #ffffff;--text-color: #333333; }[data-theme"dark"] {--primary-col…

不止 “听懂”,更能 “感知”!移远通信全新AI 音频模组 重新定义智能家居“听觉”逻辑

7月29日&#xff0c;在 2025 世界人工智能大会&#xff08;WAIC&#xff09;期间&#xff0c;移远通信正式发布全新 VA500-GL AI 音频模组。该产品基于本地化 AI 算法&#xff0c;为智能家电赋予精准 “听觉” 与主动交互能力&#xff0c;借助环境状态智能检测、离线语音控制及…

【Python】 切割图集的小脚本

Python 切割图片脚本 前言&#xff1a; 有短时间没写博客了&#xff0c;今天打算再写一篇MonoGame的教程&#xff0c;这篇是我再做我自己的2D 游戏项目的时候我需要一些已经切割好的图片但我得到图片是合在一起图集&#xff0c;这个脚本适合正在做2D游戏开发且不依赖于游戏引…

网络安全是什么?手把手教你认识网络安全

网络安全是什么&#xff1f;手把手教你认识网络安全 提到网络安全&#xff0c;不少人会联想到电影里黑客指尖翻飞攻破系统的炫酷场景。但实际上&#xff0c;它并非遥不可及的技术名词&#xff0c;而是与我们日常生活息息相关的 “数字保镖”。从手机支付密码到社交账号信息&am…

AtCoder Beginner Contest 416(2025.7.26)

文章目录A Vacation ValidationB 1D Akari&#xff08;补&#xff09;C Concat (X-th)&#xff08;补&#xff09;题目考查题意简述解法思路 &#xff1a;AC代码D Match, Mod, Minimize 2&#xff08;补&#xff09;题目分数/评级题目考查时间复杂度题意简述解法思路 &#xff…

基于 Hadoop 生态圈的数据仓库实践 —— OLAP 与数据可视化(五)

目录 五、Hue、Zeppelin 比较 1. Zeppelin 简介 2. Zeppelin 安装配置 &#xff08;1&#xff09;安装环境 &#xff08;2&#xff09;Zeppelin 及其相关组件 &#xff08;3&#xff09;配置 Zeppelin &#xff08;4&#xff09;启动 Zeppelin &#xff08;5&#xff0…

《消息队列学习指南:从 MQ 基础到 SpringAMQP 实践》

初识MQ 同步调用 目前我们采用的是基于OpenFeign的同步调用&#xff0c;也就是说业务执行流程是这样的&#xff1a; 支付服务需要先调用用户服务完成余额扣减 然后支付服务自己要更新支付流水单的状态 然后支付服务调用交易服务&#xff0c;更新业务订单状态为已支付 三个…

深度学习 --- 过拟合与欠拟合

深度学习 — 过拟合与欠拟合 文章目录深度学习 --- 过拟合与欠拟合一.概念1.1 过拟合1.2 欠拟合1.3 判断方式二&#xff0c;解决欠拟合三&#xff0c;解决过拟合3.1 L2正则化3.1.1 定义以及作用3.1.2 代码3.2 L1正则化3.3 L1与L2对比3.4 Dropout示例3.5 数据增强3.5.1 图片缩放…

Python 之抽象方法 @abstractmethod 的理解

如果你熟悉 Java 的话&#xff0c;Java 里有一个抽象接口的概念&#xff0c;Python 里的抽象方法基本上与其类似。在 Python 中&#xff0c;abstractmethod 是一个装饰器&#xff0c;用于定义抽象方法。它是实现抽象基类&#xff08;Abstract Base Class, ABC&#xff09;的核心…

深度学习·pytorch

广播机制 从末尾开始逐个维度遍历两个矩阵的shape&#xff0c;如果维度不相同&#xff0c;则考虑广播&#xff1a;任一方的维度为1或者维度不存在(小矩阵广播为大矩阵)&#xff0c;这样的运算可以广播 可以广播的例子 xtorch.empty(5,3,4,1) ytorch.empty(3,1,1) (x.add_(y)).s…

SpringBoot集成deepseek

pom文件&#xff1a;<?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org…

JetBrains Annotations:从入门到落地,彻底告别 NullPointerException

本文基于三篇高质量博客&#xff08;JetBrains Annotations官方文档、Jakarta Validation 规范、《Effective Java》第3版&#xff09;的原文内容&#xff0c;结合作者在一线研发团队落地 JetBrains Annotations 的实战经验&#xff0c;系统梳理了该注解库的核心能力、使用姿势…

基于Rust与HDFS、YARN、Hue、ZooKeeper、MySQL

基于Rust与HDFS、YARN、Hue、ZooKeeper、MySQL集合 以下是基于Rust与HDFS、YARN、Hue、ZooKeeper、MySQL等技术栈结合的实例,涵盖不同场景和应用方向: 数据处理与分析 使用Rust编写MapReduce作业,通过YARN提交到HDFS处理大规模数据集。Rust的高性能特性适合处理密集型计算…

芯片上市公司正在放弃射频业务

转载自--钟林谈芯射频芯片赛道本来不卷的&#xff0c;投资人多了也就卷了。本周&#xff0c;多家媒体报道某芯片上市公司终止射频业务&#xff0c;终止射频业务的何止一家芯片上市公司&#xff0c;从去年开始就逐渐有上市公司终止射频业务&#xff0c;开启清货模式。如人饮水&a…

Jmeter 性能测试监控之ServerAgent

使用 Jmeter 对 Linux 服务器的进行压测时&#xff0c;想要监控服务器的 CPU 、内存&#xff0c;可以通过添加插件 【ServerAgent】来观察,可以实时监控性能指标 一、ServerAgent-2.2.3下载 下载地址&#xff1a; GitCode - 全球开发者的开源社区,开源代码托管平台 二、通过插…

5.苹果ios逆向-过ssl证书检测和安装ssh和获取root权限

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;图灵Python学院 工具下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1bb8NhJc9eTuLzQr39lF55Q?pwdzy89 提取码&#xff1…

Navicat 17 教程:Windows 和 Mac 系统适用

一、引言 对于程序员们来说&#xff0c;Navicat是一款极为实用的数据库管理工具。Navicat 17更是带来了诸多新特性&#xff0c;能大大提升我们的工作效率。今天就为大家带来Navicat 17在Windows和Mac系统上的使用教程。 二、准备工作 &#xff08;一&#xff09;下载安装包 「…

Android 中 实现柱状图自定义控件

一、基本思路 创建自定义控件的数据模型; 创建一个自定义 View 类,继承自 View; 在初始化方法中获取自定义属性的值。 创建设置数据方法,将数据模型列表转换成自定义绘制时的数据; 重写 onDraw 方法,以实现自定义的绘制逻辑。 二、主要绘制方法 1、drawLine 绘制直线 p…

Netty 核心原理与实战:从 DiscardServer 看透 Reactor 模式与组件协作

目录 Netty 是什么&#xff1f; Netty 的目标 Netty 实战案例 DiscardServer 服务端程序 NettyDiscardServer 业务处理器 NettyDiscardHandler 配置类 NettyDemoConfig 回顾 Reactor 模式中的 IO 事件处理流程 Netty 中的 Channel Netty 中的 Reactor Netty 中的 Han…