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

Maven pom.xml配置详解

pom.xml是什么?

        pom.xml(项目对象模型-Project Object Model的缩写)是Maven项目的核心配置文件,用于管理项目的依赖、插件、构建配置等。

举例说明:以阿里巴巴的fastjson为例:

<?xml version="1.0" encoding="UTF-8"?>
<!--    xml的版本和编码-->
<!--    xml 可扩展标记语言(EXtensible Markup Language)-->
<!--    xml 被设计用来传输和存储数据  html  被设计用来显示数据--><!--    xmlns-命名空间,类似包名,因为xml的标签可以自定义,所以需要命名空间来区分-->
<!--    xmlns:xsi-xml遵循的标签规范-->
<!--    xsi:schemaLocation-用来定义xmlschema的地址,也就是xml书写时需要遵循的语法,
两部分组成,前面部分就是命名空间的名字,后面是xsd(xmlschema)的地址-->
<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/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!--    pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。
主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,
组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。--><!-- pom模型的版本 --><modelVersion>4.0.0</modelVersion>
<!--    父级项目,parent的引用是固定的-->
<!--    当我们创建一个 Spring Boot 工程时,可以继承自一个 fastjson2-parent-->
<!--    父项目中定义了依赖的版本,我们继承了它,所以依赖dependence可以不写版本号,
若不用父项目中的版本号则自己用<version>标签指定--><parent><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2-parent</artifactId><version>2.0.23</version><relativePath>../pom.xml</relativePath></parent><!-- 项目坐标,信息 --><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><name>fastjson1-compatible</name><description>Fastjson is a JSON processor (JSON parser + JSON generator) written in Java</description><packaging>jar</packaging><url>https://github.com/alibaba/fastjson2</url><inceptionYear>2022</inceptionYear><licenses> <!-- 许可证 --><license><name>Apache 2</name><url>https://www.apache.org/licenses/LICENSE-2.0.txt</url><distribution>repo</distribution><comments>A business-friendly OSS license</comments></license></licenses><scm> <!-- 源代码管理 --><url>https://github.com/alibaba/fastjson2</url><connection>scm:git:https://git@github.com/alibaba/fastjson2.git</connection></scm><organization>  <!-- 组织 --><name>Alibaba Group</name><url>https://github.com/alibaba</url></organization><developers>  <!-- 开发人员信息 --><developer><id>wenshao</id><name>wenshao</name><email>shaojin.wensj(at)alibaba-inc.com</email><roles><role>Developer</role><role>Tech Leader</role></roles><timezone>+8</timezone><url>https://github.com/wenshao</url></developer><developer><id>oldratlee</id><name>Jerry Lee</name><email>oldratlee(at)gmail.com</email><roles><role>Developer</role><role>CI/SCM Engineer</role></roles><timezone>+8</timezone><url>https://github.com/oldratlee</url></developer><developer><id>VictorZeng</id><name>Victor Zeng</name><email>Victor.Zxy(at)outlook.com</email><roles><role>Developer</role></roles><timezone>+8</timezone><url>https://github.com/VictorZeng</url></developer><developer><id>kraity</id><name>陆之岇</name><email>kat(at)krait.cn</email><roles><role>Developer</role></roles><timezone>+8</timezone><url>https://github.com/kraity</url></developer></developers><!--    一些属性的设置-->
<!--     <properties> -->
<!--        JDK的版本--><!--        <java.version>1.8</java.version> --><!--    </properties> --><!--    <groupId>-主要用来唯一标识一个项目或者一组项目,通常是java包名的全称,例如上面的com.upc.pipeline-->
<!--    <artifactId>-用来标识同一groupId下不同的项目,例如spring-boot-starter-thymeleaf,都是这种格式的-->
<!--    <version>-用来标识一个artifact的版本,格式有8.0.21  0.0.1-SNAPSHOT 等-->
<!--    <scope>-用来表示当前的这个依赖(通过pom加载进来的包)所作用的场景,就是说应该把它添加到哪个环境当中,例如只在测试时此jar包生效,取值主要有compile-编译时(若未指定则为该默认值) runtime-运行时 test-测试时 等 -->
<!--    <optional>-标记依赖是否可以传递,默认值是false,可以用来减少项目之间jar包的冲突--><dependencyManagement> <!-- 申请子项目需要的依赖项 --><dependencies><!-- spring libs --><dependency><groupId>org.springframework</groupId><artifactId>spring-framework-bom</artifactId><type>pom</type><version>${springframework5.version}</version><scope>import</scope></dependency><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-bom</artifactId><type>pom</type><version>2021.2.5</version><scope>import</scope></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-bom</artifactId><type>pom</type><version>5.7.5</version><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies>  <!-- 依赖项 --><dependency><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2-extension</artifactId><version>${project.version}</version></dependency><dependency><groupId>com.squareup.retrofit2</groupId><artifactId>retrofit</artifactId><scope>provided</scope></dependency><dependency><groupId>io.airlift</groupId><artifactId>slice</artifactId><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><scope>provided</scope></dependency><dependency><groupId>javax.ws.rs</groupId><artifactId>javax.ws.rs-api</artifactId><version>2.1.1</version><scope>provided</scope><optional>true</optional></dependency><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><scope>provided</scope></dependency><dependency><groupId>org.glassfish.jersey.core</groupId><artifactId>jersey-common</artifactId><scope>provided</scope></dependency><dependency><groupId>org.javamoney.moneta</groupId><artifactId>moneta-core</artifactId><scope>provided</scope></dependency><dependency><groupId>org.json</groupId><artifactId>json</artifactId><scope>provided</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-messaging</artifactId><scope>provided</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><scope>provided</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-websocket</artifactId><scope>provided</scope></dependency><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-redis</artifactId><scope>provided</scope></dependency><dependency><groupId>cglib</groupId><artifactId>cglib-nodep</artifactId><scope>test</scope></dependency><dependency><groupId>com.aliyun.odps</groupId><artifactId>odps-sdk-udf</artifactId><scope>test</scope></dependency><dependency><groupId>com.chinamobile.cmos</groupId><artifactId>sms-core</artifactId><scope>test</scope></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><scope>test</scope></dependency><dependency><groupId>com.fasterxml.jackson.jaxrs</groupId><artifactId>jackson-jaxrs-json-provider</artifactId><scope>test</scope></dependency><dependency><groupId>com.fasterxml.jackson.module</groupId><artifactId>jackson-module-afterburner</artifactId><scope>test</scope></dependency><dependency><groupId>com.fasterxml.jackson.module</groupId><artifactId>jackson-module-kotlin</artifactId><scope>test</scope></dependency><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><scope>test</scope></dependency><dependency><groupId>com.google.protobuf</groupId><artifactId>protobuf-java</artifactId><scope>test</scope></dependency><dependency><groupId>com.google.protobuf</groupId><artifactId>protobuf-java-util</artifactId><scope>test</scope></dependency><dependency><groupId>com.googlecode.json-simple</groupId><artifactId>json-simple</artifactId><scope>test</scope></dependency><dependency><groupId>com.jayway.jsonpath</groupId><artifactId>json-path</artifactId><scope>test</scope></dependency><dependency><groupId>com.jsoniter</groupId><artifactId>jsoniter</artifactId><scope>test</scope></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><scope>test</scope></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-spring-web</artifactId><scope>test</scope></dependency><dependency><groupId>net.minidev</groupId><artifactId>json-smart</artifactId><scope>test</scope></dependency><dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><classifier>jdk15</classifier><scope>test</scope></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-collections4</artifactId><scope>test</scope></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><scope>test</scope></dependency><!-- jvm lang --><dependency><groupId>org.clojure</groupId><artifactId>clojure</artifactId><version>1.11.1</version><scope>test</scope></dependency><dependency><groupId>org.codehaus.groovy</groupId><artifactId>groovy</artifactId><version>3.0.13</version><scope>test</scope></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-server</artifactId><scope>test</scope></dependency><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-webapp</artifactId><scope>test</scope></dependency><dependency><groupId>org.gitlab4j</groupId><artifactId>gitlab4j-api</artifactId><scope>test</scope></dependency><dependency><groupId>org.glassfish.jersey.containers</groupId><artifactId>jersey-container-servlet</artifactId><scope>test</scope></dependency><dependency><groupId>org.glassfish.jersey.core</groupId><artifactId>jersey-client</artifactId><scope>test</scope></dependency><dependency><groupId>org.glassfish.jersey.media</groupId><artifactId>jersey-media-json-jackson</artifactId><scope>test</scope></dependency><dependency><groupId>org.glassfish.jersey.test-framework.providers</groupId><artifactId>jersey-test-framework-provider-jdk-http</artifactId><scope>test</scope></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><scope>test</scope></dependency><dependency><groupId>org.javassist</groupId><artifactId>javassist</artifactId><scope>test</scope></dependency><!-- spring libs --><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-web</artifactId><scope>test</scope></dependency></dependencies><build> <!-- 项目构建 --><plugins> <!-- 插件 --><plugin><artifactId>maven-surefire-plugin</artifactId><configuration><includes><include>com/alibaba/fastjson/**/*.java</include><include>com/alibaba/fastjson/**/*.kt</include></includes><systemPropertyVariables><user.timezone>Asia/Shanghai</user.timezone></systemPropertyVariables></configuration></plugin></plugins></build>
</project>

1.modules
modules 标签用于声明当前 Maven 项目包含的模块子项目,每个子项目都是一个独立的 Maven 项目,具有自己的 pom.xml 文件,可以进行独立构建和测试。在父项目的 pom.xml 文件中,使用 标签来列出所有子项目的名称,如下所示:

<project><groupId>com.example.parent</groupId><artifactId>parent-project</artifactId><version>1.0.0</version><packaging>pom</packaging><modules><module>child1</module><module>child2</module><module>child3</module></modules>
</project>


上述代码表示当前项目是一个 Maven 的多模块项目:它包含了三个子项目 child1、child2 和 child3,这三个子项目与 parent-project 有相同的 groupId 和 version,但是 artifactId 不同,它们的 pom.xml 都位于 parent-project 的根目录下。当使用 Maven 命令在 parent-project 下执行构建时,Maven 会对每个子模块执行构建,最终生成子项目的构件并复制到 parent-project 的 target 目录下

2.parent
parent 标签用于声明当前 Maven 项目的父项目,它可以将若干个 Maven 项目组织成一个整体,指定版本号,插件版本号等,便于管理和维护,在一个 Maven 项目中,使用标签来引用父项目,如下所示:

<project><groupId>com.example.child</groupId><artifactId>child-project</artifactId><version>1.0.0</version><packaging>jar</packaging><parent><groupId>com.example.parent</groupId><artifactId>parent-project</artifactId><version>1.0.0</version><relativePath>../parent-project/pom.xml</relativePath></parent>
</project>


上述代码表示当前项目 child-project 是 parent-project 的子项目,它的 groupId 和 version 都继承自 parent-project。元素是一个可选项,它的值是父项目 pom.xml 文件到子项目 pom.xml 文件的相对路径,如果子项目 pom.xml 和父项目 pom.xml 在同一目录下,则可以省略此元素。

3.properties
properties 严格来说,并不一定是项目本身的信息,而是人为设置的属性或者说宏,这个标签用来定义和管理项目中所需要的属性,其作用有以下几个:

统一管理项目中的常用属性,比如版本号、路径、插件版本等,方便统一修改和管理。
可以在配置过程中使用 ${…}占位符引用这些属性,使得配置更加灵活和便捷。
避免硬编码,提高代码的可维护性和可读性

<properties><project.name>demo-project</project.name><project.version>1.0.0</project.version><jdk.version>1.8</jdk.version>
</properties>
....省略其余部分
<dependency><groupId>com.example.demo</groupId><artifactId>${project.name}-api</artifactId><version>${project.version}</version>
</dependency>

四、项目的依赖列表
1.dependency
与项目的依赖列表相关的标签最外层由 <dependencies>来囊括,内部包含了各种具体的依赖<dependency>,该标签用于指定一个依赖项,它包含以下几个子标签

<groupId>:指定依赖项的groupId,项目的组名

<artifactId>:指定依赖项的artifactId,项目的唯一标识符

<version>:指定依赖项的版本号。

<scope>:指定依赖项在项目中的使用范围。

其中的 <scope>一般包含以下几种范围:常用的有compile、test、provided 和 runtime

compile:依赖库默认的 scope,表示该依赖库在编译、测试、运行时均需要使用。

provided:表示该依赖库只在编译和测试时需要使用,而在运行时已经被系统或者容器提供,所以不需要打包到最终的应用程序中。

runtime:表示该依赖库只在运行时需要使用,而在编译和测试时则不需要。

test:表示该依赖库只在测试时需要使用,而在编译和运行时则不需要。

比如说我们引入了 junit 包,但显然这个包我们不需要在打包时包含,只是用于测试,那么我们就可以将 junit 的 scope 设置为 test。

2.repository
当然,我们还能在pom文件中支持指定Maven仓库,即使用 <repositories> 和 <repository>标签,<repository>用于指定一个Maven仓库,它包含以下几个子标签:

<id>:指定Maven仓库的ID。

<name>:指定Maven仓库的名称。

<url>:指定Maven仓库的URL

                      

有一个好的文章,供大家参考:

全面详解Maven的配置文件pom.xml(含常用plugin)_maven配置pom.xml-CSDN博客

相关文章:

Maven pom.xml配置详解

pom.xml是什么&#xff1f; pom.xml&#xff08;项目对象模型-Project Object Model的缩写&#xff09;是Maven项目的核心配置文件&#xff0c;用于管理项目的依赖、插件、构建配置等。 举例说明&#xff1a;以阿里巴巴的fastjson为例&#xff1a; <?xml version"1.…...

2024深圳国际电线电缆及电源产品展览会

2024深圳国际电线电缆及电源产品展览会 2024 Shenzhen International Coupling, Clutch and Brake Exhibition 时间&#xff1a;2024年08月28-30日 地点&#xff1a;深圳国际会展中心&#xff08;新馆&#xff09; 预订以上展会详询陆先生 I38&#xff08;前三位&#xff…...

如何成功将自己开发的APP上架到应用商店

随着移动应用市场的蓬勃发展&#xff0c;开发一款优秀的APP已成为许多企业和个人的首要选择。然而&#xff0c;成功上架并有效推广APP至关重要。本文将逐步介绍完整的上架流程&#xff0c;包括准备所需材料、注册开发者账户、进行APP备案、提交审核以及上架成功后的推广和维护。…...

Jetson AGX ORIN 配置 FGVC-PIM 神经网络(包含 arm64 下面 torch 和 torchvision 配置内容)

Jetson AGX ORIN 配置 FGVC-PIM 神经网络 文章目录 Jetson AGX ORIN 配置 FGVC-PIM 神经网络配置 ORIN 环境创建 FGVC-PIM 虚拟环境安装 PyTorch安装 torchvision安装其他依赖包 配置 ORIN 环境 首先先配置 ORIN 的环境&#xff0c;可以参考这个链接&#xff1a; Jetson AGX …...

mybatisplus和mybatis兼容问题

Invalid bound statement (not found) 错误 原xml配置 <bean id"sqlSessionFactory" class"org.mybatis.spring.SqlSessionFactoryBean"><property name"mapperLocations" value"classpath:/META-INF/mapper/*.xml"/>&l…...

nodejs安装使用React

1、react安装 首先&#xff0c;确保电脑上具备nodejs环境&#xff0c;之后用 winr 呼出控制台&#xff0c;输入 cmd 命令弹出cmd控制台&#xff08;小黑框&#xff09;之后在默认路径输入如下代码 npm i -g create-react-app //全局安装react环境无需选择特定文件夹安装成功后…...

防御性编程,可能是导致被裁员的更大的原因,别被误导了

裁员与反裁员是当前IT界一个经典的话题&#xff0c;作为打工者的猿人常常讨论了N多的防御性编程&#xff0c;代码不可读、代码不好改、代码深度嵌套、代码留bug等等。 其实防御性编程只会让决策者加速解耦你与业务系统&#xff1a; 1、增加代码走查的环节&#xff08;增加成本…...

Unity与鼠标相关的事件(自己记忆用)

1. OnMouseDown&#xff1a;当用户按下鼠标按钮时调用。 - 参数&#xff1a;MouseEvent&#xff0c;可以用来确定哪个鼠标按钮被按下。 2. OnMouseUp&#xff1a;当用户释放鼠标按钮时调用。 - 参数&#xff1a;MouseEvent&#xff0c;可以用来确定哪个鼠标按钮被释放。…...

模型权重下载方法

下载方法1&#xff1a;git lfs下载 1、在hf-mirror.com中搜索模型&#xff0c;如搜索text2vec-large-chinese&#xff0c; 点击模型进入页面&#xff1a;https://hf-mirror.com/GanymedeNil/text2vec-large-chinese/tree/main 2、git lfs install 3、git clone https://hf-mir…...

JS基础之 数据浅拷贝与深拷贝

一、拷贝背景 JS引用数据类型有两类&#xff1a;基本数据类型和引用数据类型&#xff1b; 基本类型&#xff1a;String&#xff0c;Number&#xff0c;Boolean&#xff0c;Null&#xff0c;Undefined&#xff0c;symbol这6种基本数据类型它们是直接按值存放的&#xff0c;所以…...

FFmpeg开发笔记(十四)音频重采样的缓存

FFmpeg在很多地方都运用了缓存机制&#xff0c;比如《FFmpeg开发实战&#xff1a;从零基础到短视频上线》一书的“3.3.2 对视频流重新编码”介绍了编解码的数据缓存&#xff0c;不单是视频编码过程和视频解码过程有缓存&#xff0c;甚至连音频重采样都用到了缓存。 也就是说&a…...

详解Python面向对象编程(一)

类和对象 面向过程——怎么做&#xff1f; &#xff08;1&#xff09;把完成某一需求的所有步骤、从头到尾&#xff0c;逐步实现 &#xff08;2&#xff09;根据开发需求&#xff0c;将某些功能独立的代码块封装成一个又一个的函数 &#xff08;3&#xff09;最后完成的代码&a…...

一文带你完整了解Go语言IO基础库

作者 | 百度小程序团队 导读 introduction 对于刚接触Golang学习的同学&#xff0c;估计比较难掌握的知识点之一就是文件IO处理&#xff0c;光在基础库里会发现 golang除了io包提供文件处理外&#xff0c;os包&#xff0c;http包&#xff0c;embed包都有提供类似的处理&#xf…...

Java基于微信小程序的校园请假系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#…...

Expert Prompting-引导LLM成为杰出专家

ExpertPrompting: Instructing Large Language Models to be Distinguished Experts 如果适当设计提示&#xff0c;对齐的大型语言模型&#xff08;LLM&#xff09;的回答质量可以显著提高。在本文中&#xff0c;我们提出了ExpertPrompting&#xff0c;以激发LLM作为杰出专家回…...

Element-Plus下拉菜单边框去除教程

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…...

免费redis可视化工具windows/mac都可以使用,开源免费

官方地址&#xff1a;RedisInsight | The Best Redis GUI github开源地址&#xff1a;GitHub - RedisInsight/RedisDesktopManager Redis Desktop Manager – Redis可视化管理工具、redis图形化管理工具、redis可视化客户端、redis集群管理工具。 官方下载方式 滚动到页面底…...

PHPCMS v9城市分站插件

PHPCMS自带的有多站点功能&#xff0c;但是用过的朋友都知道&#xff0c;自带的多站点功能有很多的不方便之处&#xff0c;例如站点栏目没法公用&#xff0c;每个站点都需要创建模型、每个站点都需要单独添加内容&#xff0c;还有站点必须静态化。如果你内容很多这些功能当然无…...

学习几个地图组件(基于react)

去年开发时用的公司封装的地图组件&#xff0c;挺方便的&#xff0c;但是拓展性不强&#xff0c;所以看看有哪些优秀的开源地图组件吧 1、React Leaflet 介绍&#xff1a;开源的JavaScript库&#xff0c;用于在web上制作交互式地图&#xff0c;允许你使用React组件的方式在应…...

【测试开发学习历程】计算机编程语言

前言&#xff1a; 学习完数据库&#xff0c;我们便要进入到编程语言的内容当中了。 这里先对编程语言写出大致的分类&#xff0c; 在这之后&#xff0c;我们会以Python为重点&#xff0c; 开始测试开发为重点的编程语言学习。 目录 1 计算机编程语言的发展 2 语言的分类…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

&#x1f4cc; LRU 缓存机制详解与实现&#xff08;Java版&#xff09; 一、&#x1f4d6; 问题背景 在日常开发中&#xff0c;我们经常会使用 缓存&#xff08;Cache&#xff09; 来提升性能。但由于内存有限&#xff0c;缓存不可能无限增长&#xff0c;于是需要策略决定&am…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...