Skywalking系列之最新版9.2.0-JavaAgent本地构建
- MAC 10.15.7
- IDEA 2021.2
- skywalking-agent 9.2.0-SNAPSHOT
- JDK 17/21 (最新的代码要看最新的要求,注意不能使用JDK8,会构建失败)
- Maven 3.6.0
关于本地构建JavaAgent源码
1、获取源码,加载submodule
分步执行:
git clone https://github.com/apache/skywalking-java.git
git submodule init //初始化仓库目录位置
git submodule update //**这步骤至关重要**
或者一气呵成:
git clone --recurse-submodules https://github.com/apache/skywalking.git
2、maven构建
#注意JDK版本,JDK11,最新的要求JDK17/21
mvn clean package -Dmaven.test.skip=true
此步骤最为耗时,因为项目众多,错误点主要集中于:
- JDK版本,构建前一定要知晓JDK版本的要求,避免出耽误时间或者出奇怪的问题
- 依赖的拉取,maven仓库配置合适的代理地址,极小部分依赖拉取失败的可以想办法单独下载包导入到本地,降低拉取失败的风险
注意有耐心,甄别异常
3、添加编译后的文件
构建后产生编译的文件,需要加为源码,找到以下文件夹右键 “Mark Dictory as” -> “Generated Sources Root”
~/skywalking-java/apm-protocol/apm-network/target/generated-sources/protobuf/grpc-java
~/skywalking-java/apm-protocol/apm-network/target/generated-sources/protobuf/java
正常就可以进行本地调试了
4、skywalking-agent包
在{home}/skywalking-agent/下,就是我们常规下载的可执行包的内容了
- plugins: 是会被真实扫描的插件列表,可以按需取用。删除/移除就不会被扫描
- optional-plugins: 是补充的一些插件,有需要不在plugins中的可以自行粘贴过去
- bootstrap-plugins:通常默认不动
- optional-reporter-plugins: 按需加入
- activations: 通常默认不动
- config: agent的配置
- licenses:
- logs: agent的日志,通常排查问题可以先看这里有没有报错哦
 $tree
.
├── LICENSE
├── NOTICE
├── activations
│   ├── apm-toolkit-kafka-activation-9.2.0-SNAPSHOT.jar
│   ├── apm-toolkit-log4j-1.x-activation-9.2.0-SNAPSHOT.jar
│   ├── apm-toolkit-log4j-2.x-activation-9.2.0-SNAPSHOT.jar
│   ├── apm-toolkit-logback-1.x-activation-9.2.0-SNAPSHOT.jar
│   ├── apm-toolkit-logging-common-9.2.0-SNAPSHOT.jar
│   ├── apm-toolkit-meter-activation-9.2.0-SNAPSHOT.jar
│   ├── apm-toolkit-micrometer-activation-9.2.0-SNAPSHOT.jar
│   ├── apm-toolkit-opentracing-activation-9.2.0-SNAPSHOT.jar
│   ├── apm-toolkit-trace-activation-9.2.0-SNAPSHOT.jar
│   ├── apm-toolkit-webflux-6.x-activation-9.2.0-SNAPSHOT.jar
│   └── apm-toolkit-webflux-activation-9.2.0-SNAPSHOT.jar
├── bootstrap-plugins
│   ├── apm-jdk-forkjoinpool-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-jdk-http-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-jdk-threading-plugin-9.2.0-SNAPSHOT.jar
│   └── apm-jdk-threadpool-plugin-9.2.0-SNAPSHOT.jar
├── config
│   └── agent.config
├── licenses
│   └── LICENSE-asm.txt
├── logs
│   └── skywalking-api.log
├── optional-plugins
│   ├── apm-customize-enhance-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-ehcache-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-fastjson-1.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-gson-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-guava-cache-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-jackson-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-kotlin-coroutine-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-mybatis-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-nacos-client-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-netty-http-4.1.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-quartz-scheduler-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-resttemplate-6.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-sentinel-1.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-shenyu-2.4.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-spring-annotation-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-spring-cloud-gateway-2.0.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-spring-cloud-gateway-2.1.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-spring-cloud-gateway-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-spring-tx-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-spring-webflux-5.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-spring-webflux-6.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-springmvc-annotation-6.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-trace-ignore-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-zookeeper-3.4.x-plugin-9.2.0-SNAPSHOT.jar
│   └── trace-sampler-cpu-policy-plugin-9.2.0-SNAPSHOT.jar
├── optional-reporter-plugins
│   ├── kafka-reporter-plugin-9.2.0-SNAPSHOT.jar
│   ├── lz4-java-1.6.0.jar
│   ├── snappy-java-1.1.7.3.jar
│   └── zstd-jni-1.4.3-1.jar
├── plugins
│   ├── apm-activemq-5.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-aerospike-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-armeria-0.84.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-armeria-0.85.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-armeria-1.0.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-asynchttpclient-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-avro-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-canal-1.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-cassandra-java-driver-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-clickhouse-0.3.1-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-clickhouse-0.3.2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-cxf-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-dubbo-2.7.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-dubbo-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-dubbo-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-elastic-job-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-elasticjob-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-elasticsearch-5.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-elasticsearch-6.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-elasticsearch-7.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-feign-default-http-9.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-finagle-6.25.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-grizzly-2.x-4.x-work-threadpool-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-grizzly-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-grpc-1.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-guava-eventbus-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-h2-1.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-hbase-1.x-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-hikaricp-3.x-4.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-httpClient-4.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-httpasyncclient-4.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-httpclient-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-httpclient-5.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-httpclient-commons-9.2.0-SNAPSHOT.jar
│   ├── apm-hutool-http-5.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-hystrix-1.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-impala-jdbc-2.6.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-influxdb-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-jdbc-commons-9.2.0-SNAPSHOT.jar
│   ├── apm-jersey-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-jersey-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-jetty-client-11.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-jetty-client-9.0-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-jetty-client-9.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-jetty-server-11.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-jetty-server-9.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-jetty-thread-pool-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-kafka-commons-9.2.0-SNAPSHOT.jar
│   ├── apm-kafka-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-kylin-jdbc-2.6.x-3.x-4.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-lettuce-5.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-light4j-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-mariadb-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-mongodb-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-mongodb-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-mongodb-4.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-mssql-commons-9.2.0-SNAPSHOT.jar
│   ├── apm-mssql-jdbc-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-mssql-jtds-1.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-mysql-5.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-mysql-6.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-mysql-8.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-mysql-commons-9.2.0-SNAPSHOT.jar
│   ├── apm-neo4j-4.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-netty-socketio-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-nutz-http-1.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-nutz-mvc-annotation-1.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-okhttp-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-okhttp-4.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-okhttp-common-9.2.0-SNAPSHOT.jar
│   ├── apm-play-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-postgresql-8.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-pulsar-2.2-2.7-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-pulsar-2.8.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-pulsar-common-9.2.0-SNAPSHOT.jar
│   ├── apm-quasar-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-rabbitmq-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-redisson-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-resttemplate-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-resttemplate-4.3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-rocketMQ-5.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-rocketmq-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-rocketmq-4.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-rocketmq-client-java-5.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-servicecomb-java-chassis-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-sharding-sphere-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-sharding-sphere-4.1.0-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-shardingsphere-4.0.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-shardingsphere-5.0.0-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-solrj-7.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-spring-async-annotation-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-spring-cloud-feign-1.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-spring-cloud-feign-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-spring-concurrent-util-4.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-spring-core-patch-9.2.0-SNAPSHOT.jar
│   ├── apm-spring-kafka-1.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-spring-kafka-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-spring-scheduled-annotation-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-spring-webflux-5.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-spring-webflux-6.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-springmvc-annotation-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-springmvc-annotation-4.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-springmvc-annotation-5.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-springmvc-annotation-6.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-springmvc-annotation-commons-9.2.0-SNAPSHOT.jar
│   ├── apm-spymemcached-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-struts2-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-tomcat-thread-pool-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-undertow-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-undertow-worker-thread-pool-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-vertx-core-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-vertx-core-4.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-xmemcached-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── apm-xxl-job-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── baidu-brpc-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── baidu-brpc-plugin-9.2.0-SNAPSHOT.jar
│   ├── dbcp-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── druid-1.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── dubbo-2.7.x-conflict-patch-9.2.0-SNAPSHOT.jar
│   ├── dubbo-3.x-conflict-patch-9.2.0-SNAPSHOT.jar
│   ├── dubbo-conflict-patch-9.2.0-SNAPSHOT.jar
│   ├── elasticsearch-common-9.2.0-SNAPSHOT.jar
│   ├── graphql-12.x-15.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── graphql-16plus-plugin-9.2.0-SNAPSHOT.jar
│   ├── graphql-8.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── graphql-9.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── jedis-2.x-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── jedis-4.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── jsonrpc4j-1.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── micronaut-http-client-plugin-9.2.0-SNAPSHOT.jar
│   ├── micronaut-http-server-plugin-9.2.0-SNAPSHOT.jar
│   ├── motan-plugin-9.2.0-SNAPSHOT.jar
│   ├── nats-2.14.x-2.15.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── okhttp-2.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── resteasy-server-3.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── resteasy-server-4.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── resteasy-server-6.x-plugin-9.2.0-SNAPSHOT.jar
│   ├── resttemplate-commons-9.2.0-SNAPSHOT.jar
│   ├── sofa-rpc-plugin-9.2.0-SNAPSHOT.jar
│   ├── spring-commons-9.2.0-SNAPSHOT.jar
│   ├── spring-webflux-5.x-webclient-plugin-9.2.0-SNAPSHOT.jar
│   ├── spring-webflux-6.x-webclient-plugin-9.2.0-SNAPSHOT.jar
│   ├── thrift-plugin-9.2.0-SNAPSHOT.jar
│   ├── tomcat-10x-plugin-8.11.0.jar
│   ├── tomcat-7.x-8.x-plugin-9.2.0-SNAPSHOT.jar
│   └── websphere-liberty-23.x-plugin-9.2.0-SNAPSHOT.jar
└── skywalking-agent.jar8 directories, 196 files
在应用中就可以加这个路径直接使用,日志见logs文件夹
相关文章:
Skywalking系列之最新版9.2.0-JavaAgent本地构建
MAC 10.15.7IDEA 2021.2skywalking-agent 9.2.0-SNAPSHOTJDK 17/21 (最新的代码要看最新的要求,注意不能使用JDK8,会构建失败)Maven 3.6.0 关于本地构建JavaAgent源码 1、获取源码,加载submodule 分步执行: git clone https:/…...
 
olap/clickhouse-编译器优化与向量化
本文主要结合15721和clickhouse源码来聊聊向量化,正好我最近也在用Eigen做算子加速,了解下还是有好处的。 提示编译器 提示编译器而不是复杂化简单的代码 什么时候使用汇编,什么时候使用SIMD?下面有几个基本原则: …...
 
RK3399平台开发系列讲解(内核入门篇)网络协议的分层
🚀返回专栏总目录 文章目录 一、应用层二、传输层三、网络层四、数据链路层(Data Link Layer)五、物理层沉淀、分享、成长,让自己和他人都能有所收获!😄 📢对于多数的应用和用户而言,使用互联网的一个基本要求就是数据可以无损地到达。用户通过应用进行网络通信...
 
Idea远程debugger调试
当我们服务部署在服务器上,我们想要像在本地一样debug,就可以使用idea自带的Remote JVM Debug 创建Remote JVM Debug服务器启动jar打断点进入断点 当我们服务部署在服务器上,我们想要像在本地一样debug,就可以使用idea自带的 Remote JVM Debug) 创建Rem…...
 
MATLAB - Gazebo 仿真环境
系列文章目录 前言 机器人系统工具箱(Robotics System Toolbox™)为使用 Gazebo 模拟器可视化的模拟环境提供了一个界面。通过 Gazebo,您可以在真实模拟的物理场景中使用机器人进行测试和实验,并获得高质量的图形。 Gazebo 可在…...
 
selenium自动化webdriver下载及安装
1、确认浏览器的版本 在浏览器的地址栏,输入chrome://version/,回车后即可查看到对应版本 2、找到对应的chromedriver版本 2.1 114及之前的版本可以通过点击下载chromedriver,根据版本号(只看大版本)下载对应文件 2.2 116版本通过…...
 
网络基础介绍
1.网线制作 1.1 网线制作需要的工具 网线 网线钳 水晶头 测试仪 编辑 1.2 网线的标准 1.3 网线的做法 2.集线器&交换机&路由器的介绍 3.OSI七层模型 4.路由器的设置 4.1 常见的路由器设置地址 4.2 常见的路由器账号密码 4.3 登录路由器 设置访客网…...
 
Java中四种引用类型(强、软、弱、虚)
目录 引言 强引用(Strong References) 软引用(Soft References) 弱引用(Weak References) 虚引用(Phantom References) 引用类型的应用场景 总结 引言 Java中的引用类型是管理…...
 
【MyBatis学习笔记】MyBatis基础学习
MyBatis基础 MyBatis简介MyBatis特性MyBatis下载和其他持久化层技术对比 核心配置文件详解默认的类型别名 搭建MyBatis开发环境创建maven工程创建MyBatis的核心配置文件创建mapper接口创建MyBatis的映射文件通过junit测试功能加入log4j日志功能 MyBatis获取参数值的两种方式&am…...
 
还在为论文焦虑?免费AI写作大师帮你搞定
先来看1分钟的视频,对于要写论文的你来说,绝对有所值! 还在为写论文焦虑?免费AI写作大师来帮你三步搞定 第一步:输入关键信息 第二步:生成大纲 稍等片刻后,专业大纲生成(由于举例&am…...
3.10【窗口】窗口使用示例(窗口缩放 三)
五,从窗口所有者放大 要从窗口的所有者本身进行放大,可以将源图像矩形设置得比窗口小。可以想象我们在一张图片中选取一部分进行放大的操作。 屏幕使用默认位置 (0,0) 作为源矩形、窗口和显示器显示的左上角。要放大源图形的特定区域,必须设置源矩形的大小。 源矩形由这些…...
 
【机器学习】密度聚类:从底层手写实现DBSCAN
【机器学习】Building-DBSCAN-from-Scratch 概念代码数据导入实现DBSCAN使用样例及其可视化 补充资料 概念 DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种基于密度的空间聚类算…...
 
2023-12-20 二叉搜索树的最近公共祖先和二叉搜索树中的插入操作和删除二叉搜索树中的节点
235. 二叉搜索树的最近公共祖先 思想:和二叉树的公共最近祖先节点的思路基本一致的!就是不用从下往上遍历处理!可以利用的二叉搜索树的特点从上往下处理了!而且最近公共节点肯定是第一个出现在【q,p】这个区间的内的&…...
 
pytorch文本分类(三)模型框架(DNNtextCNN)
pytorch文本分类(三)模型框架(DNN&textCNN) 原任务链接 目录 pytorch文本分类(三)模型框架(DNN&textCNN)1. 背景知识深度学习 2. DNN2.1 从感知器到神经网络2.2 DNN的基本…...
 
<长篇文章!!>数据结构与算法的重要知识点与概要总结 ( •̀ ω •́ )✧✧临近考试和查漏补缺的小伙伴看这一篇就都懂啦~
目录 一、数据结构概论二、算法概论三、线性表四、栈五、队列六、串七、多维数组与矩阵八、广义表九、树与二叉树十、图 一、数据结构概论 1、数据元素和数据项 数据由数据元素组成,即数据元素是数据的基本单位,而数据元素又由若干个数据项组成…...
【安全】audispd调研
audispd调研 1 问题背景 在Linux中,当某个进程调用audit_set_pid将自己的pid保存到内核的audit模块后,如果有日志生成,kaudit内核线程就会通过netlink通信机制将审计日志发送给audit_pid,因此,只能有一个进程占用aud…...
 
WINDOWS(WIN11)通过IP添加网络打印机
点击添加设备 点击手动添加 使用IP地址或主机名添加打印机 选择TCP/IP设备,输入打印机地址 如果有正确驱动就安装,没有就取消。 通过手动设置添加本地打印机或网络打印机 使用现有的端口 根据打印机IP,选择标准端口。 成功! 到…...
华为数通试题
选择题 华为数通推出的面向企业的云计算平台是? A) FusionSphere B) CloudEngine C) Agile Controller D) eSight 下面哪个不是华为数通的核心交换机系列? A) S12700 B) S5700 C) S9300 D) CloudEngine 华为数通的企业级路由器系列包括哪个?…...
 
Labview Vision 机器视觉使用,从下载程序安装应用,到实战找硬币并输出值
1.前言 大家好,今天我要和机器人一起配合来打算 做机器视觉 用Labview 和 Vision 联动实现机器的视觉 2.下载软件-软件的安装 我们除了基础款的labview软件 还要安装视觉四件套 1.Labview 编程平台(我是 2023 q3) 2. NI - IMAQdx (驱动软…...
【delphi11】delphi基础探索【三、基础组件和事件】
目录 基础组件 1. TButton(按钮) 2. TLabel(标签) 3. TEdit(编辑框) 4. TMemo(多行编辑框) 5. TComboBox(组合框) 6. TCheckBox(复选框&…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
 
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
 
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
 
GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
