当前位置: 首页 > article >正文

论文笔记——相干体技术在裂缝预测中的应用研究

目录

  • 相关地震知识补充
    • 地震数据的认识
    • 地震几何属性
  • 相干体算法
    • 定义
    • 基本原理
    • 第一代相干体技术:基于互相关的相干体技术(Correlation)
    • 第二代相干体技术:基于相似的相干体技术(Semblance)
      • 基于多道相似的相干体技术
      • 基于曼哈顿(Manhattan)距离的波形相似性算法
      • 基于复地震道的相干体技术
  • 参考

相关地震知识补充

地震数据的认识

叠前数据和叠后数据的理解
叠前和叠后是针对地震资料处理中的偏移来说的,由于地下介质不是水平的,导致反射波的同相轴发生偏移,从而不能正确反映地下介质的真实状况,因此需要对地震资料进行偏移处理。偏移的方式有两种:叠加之前偏移和叠加之后偏移,前者叫叠前,后者成为叠后。
各自的特点:

  • 叠前数据:
    • 信息完整性:保留原始地震波的全部动力学特征,包括振幅、频率、相位等,对岩性变化和流体识别敏感;
    • 信噪比低,随机干扰强;
    • 数据量庞大,存储与计算成本高;
    • 适用于复杂构造和高精度岩性分析;
  • 叠后数据:
    • 通过共中心点(CMP)叠加压制随机噪声,显著提高信噪比,但损失了部分振幅与相位细节;
    • 数据量大幅压缩,处理效率高;
    • 主要用于构造解释,适用于速度横向变化平缓区域。

在这里插入图片描述

地震几何属性

地震几何属性是‌从地震数据中提取的、描述地下地质体空间形态和结构特征的参数集合‌(如反射界面的曲率、倾角、连续性等),主要用于刻画地层界面、断层、裂缝系统等构造的几何形态变化。

  • 区别于动力学属性(振幅、频率等),几何属性聚焦于构造形态而非岩性物性。

分类

类别属性功能描述
连续性属性相干体(Coherence)量化相邻道相似性,识别断层、裂缝带等不连续区域
曲率属性最大正曲率、最大负曲率刻画地层弯曲程度(如背斜、向斜),预测裂缝发育区
‌梯度属性倾角(Dip)、方位角(Azimuth)描述地层界面空间产状,恢复古构造格局
‌边缘检测属性断棱(Edge)强化断层边界,辅助断裂系统精细解释

相干体算法

定义

相干体是指由三维地震数据体经过相干处理而得到的一个新的数据体,其基本原理是在三维数据体中,求每一道每一样点处小时窗内分析点所在道与相邻道波形的相似性,形成一个表征相干性的三维数据体,即计算时窗内的数据相干性,把这一结果赋予时窗中心样点。——Amoco公司
相干体技术是利用地震信号相干值的变化来描述地层、岩性等的横向非均匀性,进而研究断层、微断裂的空间分布,地质构造异常及岩性的整体空间展布特征。
在这里插入图片描述

基本原理

物理基础:地震波传播时的相干性原理——当地层连续时,相邻接收点记录波形相位一致;地层破碎时,则波场散射,相位失配。

相似性度量:计算相邻地震道波形的互相关系数方差,量化地震信号的横向连续性:

  • 高相干值(接近1):反射界面连续,地质均匀;
  • 低相干值(接近0):表示存在断层、裂缝或岩性突变等不连续区域;

分割线中内容是在百度过程中,结合图像相关写出的推导,用来辅助理解吧

归一化互相干(NCC)
在了解归一化互相干系数之前,我们先回顾一下相关系数的计算:
r ( X , Y ) = C o v ( X , Y ) V a r ( X ) V a r ( Y ) C o v ( X , Y ) = E [ ( X − E ( X ) ) ( Y − E ( Y ) ) ] V a r ( X ) = E [ ( X − E ( X ) ) 2 ] \begin{equation}\begin{aligned} r(X,Y) &= \frac{Cov(X,Y)}{\sqrt{Var(X)Var(Y)}}\\ Cov(X,Y) &= E[(X-E(X))(Y-E(Y))]\\ Var(X) &= E[(X-E(X))^2]\\ \end{aligned}\end{equation} r(X,Y)Cov(X,Y)Var(X)=Var(X)Var(Y) Cov(X,Y)=E[(XE(X))(YE(Y))]=E[(XE(X))2]
其中, C o v ( X , Y ) Cov(X,Y) Cov(X,Y)表示向量 X X X Y Y Y的协方差, V a r ( X ) Var(X) Var(X) V a r ( Y ) Var(Y) Var(Y)分别表示 X X X Y Y Y的方差。

归一化互相关(Normalized Cross-Correlation, NCC)是一种用于衡量两个信号相似度的算法,其核心是通过‌消除幅度影响‌提升匹配鲁棒性。
窗口定义:以目标点为中心,选取 K × K K\times K K×K道(如3×3或5×5)的局部窗口),同时设置时间窗口大小为 k k k
波形相似性计算‌:对窗口内每一对相邻地震道,逐时间样点计算归一化互相关系数:
ρ x y = ∑ i = t t + k ( x i − μ x ) ⋅ ( y i − μ y ) ∑ i = t t + k ( x i − μ x ) 2 ⋅ ∑ i = t t + k ( y i − μ y ) 2 \rho_{xy} = \frac{\sum\limits_{i = t}^{t+k}(x_i - \mu_x) \cdot (y_i - \mu_y)}{\sqrt{\sum\limits_{i = t}^{t+k}(x_i - \mu_x)^2} \cdot \sqrt{\sum\limits_{i = t}^{t+k} (y_i - \mu_y)^2}} ρxy=i=tt+k(xiμx)2 i=tt+k(yiμy)2 i=tt+k(xiμx)(yiμy)
其中:

  • x i , y i x_i, y_i xi,yi:窗口内第 i i i个采样点值(在地震资料处理,可理解位两道时间序列);
  • μ x , μ y \mu_x, \mu_y μx,μy:窗口内 x , y x, y x,y的均值;

输出:将窗口内所有相邻道对的平均 ρ \rho ρ值赋给目标点,生成‌相干属性体‌(值域为[0,1],低值指示裂缝)


第一代相干体技术:基于互相关的相干体技术(Correlation)

相关性算法是根据随机过程的互相关分析,计算相邻地震道的互相关函数来反映相同轴的不连续性。
地震道的空间组合模式如下:
在这里插入图片描述
在纵测线方向 t t t时刻计算归一化互相关(时间窗口为 2 ω 2\omega 2ω):
C 12 ( t , p , x i , y i ) = ∑ τ = − ω + ω u ( t − τ , x i , y i ) u ( t − τ − p , x i + 1 , y i ) ∑ τ = − ω + ω u 2 ( t − τ , x i , y i ) u 2 ( t − τ − p , x i + 1 , y i ) C_{12}(t,p,x_i,y_i) = \frac{\sum\limits_{\tau = - \omega}^{+\omega}u(t-\tau,x_i,y_i)u(t-\tau-p,x_{i+1},y_i)}{\sqrt{\sum\limits_{\tau = - \omega}^{+\omega}u^2(t-\tau,x_i,y_i)u^2(t-\tau-p,x_{i+1},y_i)}} C12(t,p,xi,yi)=τ=ω+ωu2(tτ,xi,yi)u2(tτp,xi+1,yi) τ=ω+ωu(tτ,xi,yi)u(tτp,xi+1,yi)
在横测线方向 t t t时刻计算归一化互相关:
C 13 ( t , q , x i , y i ) = ∑ τ = − ω + ω u ( t − τ , x i , y i ) u ( t − τ − q , x i , y i + 1 ) ∑ τ = − ω + ω u 2 ( t − τ , x i , y i ) u 2 ( t − τ − q , x i , y i + 1 ) C_{13} (t,q,x_i,y_i)= \frac{\sum_{\tau = - \omega}^{+\omega}u(t-\tau,x_i,y_i)u(t-\tau-q,x_{i},y_{i+1})}{\sqrt{\sum_{\tau = - \omega}^{+\omega}u^2(t-\tau,x_i,y_i)u^2(t-\tau-q,x_i,y_{i+1})}} C13(t,q,xi,yi)=τ=ω+ωu2(tτ,xi,yi)u2(tτq,xi,yi+1) τ=ω+ωu(tτ,xi,yi)u(tτq,xi,yi+1)
沿视倾角 ( p , q ) (p,q) (p,q)的相干值 C 1 C_1 C1为:
C 1 ( p , q ) = [ C 12 ( C 11 C 22 ) 1 2 C 13 ( C 11 C 33 ) 1 2 ] 1 2 C_1(p,q) = [\frac{C_{12}}{(C_{11}C_{22})^{\frac{1}{2}}} \frac{C_{13}}{(C_{11}C_{33})^{\frac{1}{2}}}]^{\frac{1}{2}} C1(p,q)=[(C11C22)21C12(C11C33)21C13]21
其中, C i i C_{ii} Cii为第 i i i道的自相关量; C i j C_{ij} Cij为第 i i i道和第 j j j道的互相关量。视倾角 ( p , q ) (p,q) (p,q) p p p q q q分别为 x x x方向和 y y y方向上的地震道之间的时移量。

特点:

  • 第一代相干体技术只取了三道地震数据来计算,因此处理速度较快,但该方法的抗噪能力较差,计算的结果存在较多雪花状干扰,同时对于大倾角的裂缝及断层检测效果较差。
  • 三点互相关算法假设地震道是零平均信号,当相关时窗长度超过地震子波长度时,这种假设才基本成立,即要求窗口大于地震反射的最长周期,但这样降低了计算得到的相干体数据的垂向分辨率。

第二代相干体技术:基于相似的相干体技术(Semblance)

基于多道相似的相干体技术

定义一个以分析点为中心的包含 J J J道的椭圆或矩形分析时窗,则相干值 C 2 C_2 C2为分析时窗内平均道的能量与所有道的能量比,计算为:
C 2 ( t , p , q ) = ∑ k = − K + K [ 1 J ∑ j = 1 J u j ( t + k Δ t − p x j − p y j ) ] 2 ∑ k = − K + K 1 J [ ∑ j = 1 J u j ( t + k Δ t − p x j − p y j ) ] 2 C_2(t,p,q) = \frac{\sum\limits_{k = -K}^{+K}[\frac{1}{J}\sum\limits_{j=1}^{J}{u_j(t+k\Delta t - px_j-py_j)}]^2}{\sum\limits_{k = -K}^{+K}\frac{1}{J}[\sum\limits_{j=1}^{J}{u_j(t+k\Delta t - px_j-py_j)}]^2} C2(t,p,q)=k=K+KJ1[j=1Juj(t+kΔtpxjpyj)]2k=K+K[J1j=1Juj(t+kΔtpxjpyj)]2
上式中,下标 j j j表示落在分析时窗内的第 j j j道; x j x_j xj y j y_j yj表示第 j j j道与分析时窗内中心点 t t t x x x y y y方向的举例; p p p q q q分别表示分析时窗内中心点,所在局部反射界面 x x x y y y方向的视倾角。

在这里插入图片描述
特点:

  • 可以对任意多道地震数据计算相干性,能够较精准地计算有噪声数据的相干性、倾角和方位角;
  • 用一个适当大小的分析窗口,能较好地解决提高分辨率和提高信噪比之间的矛盾;
  • 因此,基于多道相似的相干体技术具有较好的适用性和分辨女,而且具有相当快的计算速度。

基于曼哈顿(Manhattan)距离的波形相似性算法

对于地震数据体中的相干计算道,设 G G G为中心道, H H H为相邻道,定义归一化的曼哈顿距离计算公式为
M d = ∑ k = N − n / 2 k = N + n / 2 ∣ G k − H k + d ∣ ∑ k = N − n / 2 k = N + n / 2 ( ∣ G k ∣ + ∣ H k + d ∣ ) M_d = \frac{\sum\limits_{k=N-n/2}^{k=N+n/2}|G_k - H_{k+d}|}{\sum\limits_{k=N-n/2}^{k=N+n/2}(|G_k| + |H_{k+d}|)} Md=k=Nn/2k=N+n/2(Gk+Hk+d)k=Nn/2k=N+n/2GkHk+d
上式中, M d M_d Md为归一化曼哈顿距离距离, n n n为相关时窗长度(样点数), d d d为地层倾斜时的时间延迟值, N N N为中心道 G G G相关时窗的时间样点值。在始终当中心道 G G G与相邻道 H H H相同时, M d M_d Md等于零;当中心道 G G G与相邻道 H H H完全不想死即极性相反时, M d M_d Md等于1;其他情况下, M d M_d Md的值介于0到1之间。

特点:

  • 基于归一化的曼哈顿距离的相干算法只涉及两个随机信号的加减运算,不涉及普通相干计算中的两个随机信号的乘积运算,因此具有较高的运算效率。

基于复地震道的相干体技术

如果在小的垂向时窗内应用于基于多道相抵的相干体算法,在计算零值附近同相轴的相干体时会造成一些假象,一旦地震信号的振幅低于背景噪音,相干算法将识别为地震数据不相干,将产生低相干的假象。应用复地震道技术可以解决这个问题,对应的相干体计算公式为:
C H ( t , p , q ) = ∑ k = − K + K { [ 1 J ∑ j = 1 J u j ( t + k Δ t − p x j − q y j ) ] 2 + ∑ k = − K + K [ 1 J ∑ j = 1 J u j H ( t + k Δ t − p x j − q y j ) ] 2 } ∑ k = − K + K 1 J ∑ j = 1 J { [ u j ( t + k Δ t − p x j − q y j ) ] 2 + [ u j H ( t + k Δ t − p x j − q y j ) ] 2 } C_H(t,p,q) = \frac{\sum\limits_{k=-K}^{+K}{\left \{\left[\frac{1}{J}\sum\limits_{j=1}^{J}u_j(t+k\Delta t -px_j -qy_j)\right]^2 +\sum\limits_{k=-K}^{+K}\left[\frac{1}{J}\sum\limits_{j=1}^{J}u_j^H(t+k\Delta t -px_j -qy_j)\right]^2\right \}}}{\sum\limits_{k=-K}^{+K}\frac{1}{J}\sum\limits_{j=1}^{J}\left \{\left[ u_j(t+k\Delta t -px_j -qy_j)\right]^2+\left[ u_j^H(t+k\Delta t -px_j -qy_j)\right]^2\right\}} CH(t,p,q)=k=K+KJ1j=1J{[uj(t+kΔtpxjqyj)]2+[ujH(t+kΔtpxjqyj)]2}k=K+K [J1j=1Juj(t+kΔtpxjqyj)]2+k=K+K[J1j=1JujH(t+kΔtpxjqyj)]2
上式中,上标 H H H表示地震数据的希尔伯特征变换或正交地震道。当地震道的数据为零时,其对应的正交地震道数据的量值最大;当正交地震道的数据为零时,其实际地震数据的量值最大,这样相干体的算法就比较稳定,保真性好。



先写道这儿,有好多相关术语,看得我云里雾里的,灰溜溜地补地震勘探基础去了



参考

地震相干体技术分析;
基于Windows的三维可视化地震资料解释系统_李更想;
基于地震相干体数据的裂缝及断层检测方法研究_廖龙;

相关文章:

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...

网站指纹识别

网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...