探针是什么

JDK提供了一种技术,可以对 应用无任何的代码侵入的情况下,追加某种功能。这种技术是探针

第一点:

通常 我们的项目 中只有一个 main 函数,项目JVM 启动时,会运行 这个main函数。

public static void main( String[] args ) {
        
}

使用探针时, 探针类 需要有一个 premain函数,比如:

public static void premain(String Args, Instrumentation instrumentation) {

}

第二点:

带有探针类时,通常是单独打成一个 jar包,-javaagent:agent.jar 指定探针jar

java -javaagent:agent.jar -jar app.jar

第三点:

premain 函数 可以执行添加 ClassFileTransformer 对象的操作:

instrumentation.addTransformer(new ClassFileTransformerImpl());

对于 ClassFileTransformer接口,只有一个方法,我们需要实现该接口:

public interface ClassFileTransformer {
    byte[]
    transform(  ClassLoader         loader,
                String              className,
                Class<?>            classBeingRedefined,
                ProtectionDomain    protectionDomain,
                byte[]              classfileBuffer)
        throws IllegalClassFormatException;
}

第四点:

对于 premain 函数的执行时机 和  ClassFileTransformer接口 的 transform 函数的执行时机:

JVM启动后,首先会执行 premain函数 并且 只执行一次,随后再执行 main函数。

而 ClassFileTransformer接口 的 transform 函数 ,会在 每次 加载了一个 类时,就执行一次。

这一点很重要,因为 这个方法 能够拿到 当前加载的类信息,那么 就可以对 加载的字节码 等进行操作,来完成 我们的需求。

注意一点:重复实例化一个类, transform函数 只在第一次执行

补充:

探针jar包需要在 META-INF\MANIFEST.MF 中指定

Premain-Class: org.wxj.agent.Agent

应用jar包也需要在 META-INF\MANIFEST.MF 中指定

  

Main-Class: org.wxj.App

可以在 maven 打包插件指定main函数所在的类: 

       <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
          <configuration>
            <archive>
              <addMavenDescriptor>false</addMavenDescriptor>
              <manifest>
                <mainClass>org.wxj.App</mainClass>
              </manifest>
            </archive>
          </configuration>
        </plugin>

以上就是 java探针的一些知识点。好好看看,来实现第一个探针吧

<think>好的,用户想了解PCB探针的概念、用途、应用和类型。首先,我需要从提供的引用中提取相关信息。引用1提到探针卡是芯片封装前测试的重要工具,连接探针和PCB电路板以满足电性测试的需要。引用2详细描述了悬臂针卡的结构,包括探针布局、材料和PCB板的作用。应用场景方面,悬臂针卡用于高精度、高密度测试。引用3涉及其他类型的探针,比如pod探针,但可能相关性较低。 首先,定义PCB探针。根据引用1和2,PCB探针应解释为连接探针与PCB的组件,用于传输测试信号。用途方面,主要用于芯片测试,确保电路连接和信号传递。类型方面,引用2提到悬臂针卡的结构,探针材质如钨、铼钨等,可能对应不同类型的探针。应用场景包括半导体测试、高密度引脚测试等。需要结合引用内容组织回答,确保引用标识正确。 可能还需要补充一些常见类型,比如垂直探针卡、悬臂式,以及不同材质的探针类型。应用部分可以分半导体制造、电子设备测试等。要确保使用正确的格式,行内公式用$,独立公式用$$,但用户问题中可能不需要数学公式,但需注意其他LaTeX格式正确。最后生成相关问题,需围绕PCB探针的类型、选型、维护、技术挑战等方面提问。</think>### PCB探针的概念及用途 **PCB探针**是一种用于电子测试的关键组件,主要用于连接被测电路板(PCB)与测试设备,以传输电信号或检测电路性能。其核心功能是确保测试信号的稳定传递,从而验证电路设计的正确性或定位故障[^1][^2]。 #### 1. **基本概念** - **结构组成**:PCB探针通常由针头、弹簧和针尾构成,材质需具备高导电性(如铍铜)和高耐磨性(如钨合金)。探针通过弹性接触实现与PCB焊盘或测试点的物理连接。 - **信号传递**:在芯片封装前测试中,探针卡(含多个探针)通过PCB板将测试机的信号传递至芯片引脚,完成电性测试[^1]。 #### 2. **主要类型** 根据结构和应用场景,PCB探针可分为以下类型: - **悬臂式探针**:探针设计为微悬臂梁形,布局于PCB上表面,适用于高密度测试场景(如芯片引脚密集的集成电路)。 - **垂直探针**:探针垂直于PCB安装,常用于需要高稳定性的测试环境(如高频信号测试)。 - **材料分类**: - **钨/铼钨探针**:硬度高、电阻低,适合长期高频测试。 - **铍铜探针**:弹性好,成本较低,适用于通用测试场景。 #### 3. **应用场景** - **半导体测试**:在芯片封装前,通过探针卡对晶圆进行功能测试,筛选出合格芯片。 - **电路板在线测试(ICT)**:检测PCB焊接缺陷或元件故障。 - **高密度测试**:适应5G通信、AI芯片等领域的微型化、高引脚密度需求[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值