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

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

此步骤最为耗时,因为项目众多,错误点主要集中于:

  1. JDK版本,构建前一定要知晓JDK版本的要求,避免出耽误时间或者出奇怪的问题
  2. 依赖的拉取,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、数据元素和数据项 数据由数据元素组成,即数据元素是数据的基本单位,而数据元素又由若干个数据项组成&#xf…...

【安全】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 华为数通的企业级路由器系列包括哪个&#xff1f…...

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(复选框&…...

react hooks浅谈

一.useEffect useEffect是hooks中的生命周期函数 1.只要页面更新就触发回调: useEffect(() > { // 执行逻辑 }) 2.只运行一次(组件挂载和卸载时执行),第二个参数传空数组[]: useEffect(() > { // },[]) 3. 条件…...

stable diffusion webui之lora调用

1.触发词底模lora效果最好&#xff08;分数不一定要取到1&#xff0c;0.8也行&#xff09;&#xff1b; 2.引用时一定要使用<lora:>&#xff0c;例如<lora:C4D_geometry_bg_v2.5:0.8>&#xff1b; "prompt": "(masterpiece:1.3), (best quality:1.…...

FormData文件上传多文件上传

一、简介 ​ 通常情况下&#xff0c;前端在使用post请求提交数据的时候&#xff0c;请求都是采用application/json 或 application/x-www-form-urlencoded编码类型&#xff0c;分别是借助JSON字符串来传递参数或者keyvalue格式字符串&#xff08;多参数通过&进行连接&#…...

八股文打卡day4——计算机网络(4)

TCP和UDP的概念、特点、区别和对应的使用场景&#xff1f; 我的回答&#xff1a; 概念&#xff1a; TCP是传输控制协议&#xff0c;是面向连接、可靠的、基于字节流的传输层通信协议。 UDP是用户数据报协议&#xff0c;是无连接、不可靠的&#xff0c;基于数据报的传输层通信…...

TensorFlow(2):Windows安装TensorFlow

1 安装python环境 这一步请自行安装&#xff0c;这边不做介绍。 2 安装anaconda 下载路径&#xff1a;Index of /&#xff0c;用户自行选择自己的需要的版本。 3 环境配置 3.1 anaconda环境配置 找到设置&#xff0c;点击系统->系统信息->高级系统设置->环境变量…...

一文解决idea导入源码控制台爆红问题

文章目录 唠嗑部分背景说明idea查看maven配置 言归正传安装mavenidea配置maven 结语及资料获取 唠嗑部分 背景说明 很多新手伙伴们在导入项目源码时&#xff0c;都会遇到大片依赖爆红&#xff0c;项目跑不起来&#xff0c;小白也是把自己电脑重新配置了一番&#xff0c;复现了…...

排序算法——快排

快速排序算法最早是由图灵奖获得者Tony Hoare设计出来的,他在形式化方法理论以 及ALGOL.60编程语言的发明中都有卓越的贡献,是20世纪最伟大的计算机科学家之—。 而这快速排序算法只是他众多贡献中的—个小发明而已。 快速排序&#xff08;Quick Sort&#xff09;的基本算法思…...

第二节TypeScript 基础语法

1、typescript程序由以下几个部分组成&#xff1a; 模块函数变量语句和表达式注释 2、开始第一个typescript程序 创建一个typescript程序&#xff0c;使之输出“hello typescript”&#xff1a; 代码&#xff1a; var message:string "hello typescript" cons…...

Go、Python、Java、JavaScript等语言的求余(取模)计算

余数符号规则&#xff1a; Go&#xff08;%&#xff09;&#xff1a; 余数与被除数符号一致 Java&#xff08;%&#xff09;&#xff1a; 余数与被除数符号一致 JavaScript&#xff08;%&#xff09;&#xff1a; 余数与被除数符号一致 Python&#xff08;%&#xff09;…...

scrapy快加构造并发送请求

scrapy数据建模与请求 学习目标&#xff1a; 应用 在scrapy项目中进行建模应用 构造Request对象&#xff0c;并发送请求应用 利用meta参数在不同的解析函数中传递数据 1. 数据建模 通常在做项目的过程中&#xff0c;在items.py中进行数据建模 1.1 为什么建模 定义item即提前…...

江苏住房和城乡建设网站/珠海优化seo

下载的字体一般是ttc或ttf格式的&#xff0c;系统显示这都是TrueType类型的字体。ttf格式的字体可以正常使用&#xff0c;但ttc的字体只有一些常用的汉字&#xff0c;而许多不常用的汉字就没有(选择字体以后依然以宋体显示)。两者的不同处是 TTC 档会含超过一种字型&#xff0c…...

dwcs3如何做网站/宝塔没有域名直接做网站怎么弄

我在任何地方都找不到。我从返回标准JSON日期的API中获取了一些JSON。您可以通过在JavaScript控制台中运行以下代码来查看格式&#xff1a;> new Date().toJSON();"2010-10-27T11:58:22.973Z"好吧&#xff0c;实际上&#xff0c;我正在使用的API不会返回毫秒部分&…...

wordpress手机客户端开发教程/站长工具的使用seo综合查询运营

最近两周由于忙于个人项目&#xff0c;一直未发言了&#xff0c;实在是太荒凉了。。。。&#xff0c;上周由于项目&#xff0c;见到Python的应用极为广泛&#xff0c;用起来也特别顺手&#xff0c;于是小编也开始着手学习Python,…下面我就汇报下今天的学习成果吧 小编运行环境…...

专业做婚纱摄影网站/广东短视频seo搜索哪家好

这个专题前面的三个指南&#xff0c;介绍了WWF编程了三个大方面&#xff1a;顺序工作流、状态机工作流和自定义活动。相信大家对WWF的编程模型已经有了一个初步的了解。从这次开始&#xff0c;我们就要深入WWF&#xff0c;全面的探究一下WWF。 传统的编程语言是针对短期运行应用…...

网站页面设计模板代码/软文兼职

推荐最近很火的 6 个开源项目&#xff0c;本期所有推荐都已经收录到 Awesome GitHub Repo&#xff0c;欢迎各位读者 Star。欢迎 Star&#xff1a;https://github.com/Wechat-ggGitHub/Awesome-GitHub-Repo本期推荐的开源项目是&#xff1a;1. 中国 Web 开发者路线图2. 一个简单…...

搜狗搜索网页版/厦门seo优化

1 引言 说到前端编译方案&#xff0c;也就是如何打包项目&#xff0c;如何编译组件&#xff0c;可选方案有很多&#xff0c;比如&#xff1a; 通过 webpack / parcel / gulp 构建项目。通过 parcel / gulp / babel 构建组件。如果你喜欢零配置的 parcel&#xff0c;那么项目和组…...