想要快速入门架构师怎么办?!吴需烦恼!华为架构师教你三分钟了解 Spring Boot!

SpringBoot+MyBatis-Plus快速集成避坑指南 SpringBoot与MyBatis-Plus整合是Java后端开发的基础能力,其核心在于理解自动配置原理、依赖冲突机制及运行时Bean生命周期。技术价值体现在降低单表CRUD开发成本、统一SQL审计与逻辑删除语义,并支撑高并发场景下的事务一致性。典型应用场景包括微服务用户中心、内容管理后台及IoT设备数据接入层。实践中需重点关注JDK版本兼容性、MySQL字符集配置、MyBatis-Plus主键策略(如id-type: auto)与逻辑删除(@TableLogic)的底层SQL重写机制,避免因环境差异或配 阅读详情


在这里插入图片描述

一、简介

使用 Spring Boot 可以很容易地创建出能直接运行的独立的、生产级别的基于 Spring 的应用。我们对 Spring 平台和第三方类库有自己的考虑,因此您可以从最基本的开始。大多数 Spring Boot 应用只需要很少的 Spring 配置。

您可以使用 Spring Boot 来创建一个可以使用 java -jar 命令来运行或者基于传统的 war 包部署的应用程序。我们还提供了一个用于运行 spring scripts 的命令行工具。

我们的主要目标是:

  • 为所有 Spring Boot开发提供一个更快、更全面的入门体验。
  • 坚持自我虽好,但当需求出现偏离,您需要能迅速摆脱出来。
  • 提供大量非功能性特性相关项目(例如:内嵌服务器、安全、指标、健康检查、外部配置)。
  • 绝对没有代码生成,也不要求 XML 配置。

Spring

二、创建可执行 jar

要创建可执行 jar,我们需要将 spring-boot-maven-plugin 添加到 pom.xml文件中。在 dependencies 下方插入以下配置:

        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


三、使用Spring Boot

3.1 Maven

Maven用户可以继承spring-boot-starter-parent项目以获取合适的默认值,父项目提供了以下功能:

  • Java 1.8 作为默认编译器级别。
  • 源代码使用 UTF-8 编码。
  • 依赖管理部分继承自 spring-boot-dependencies 的 POM,允许您省略常见依赖的标签。
  • 合理的资源过滤。
  • 合适的插件配置(exec plugin、Git commit ID、shade)。
  • 针对 application.properties 和 application.yml资源的合理过滤,包括特定 profile 的文件(例如 application-foo.properties 和 application-foo.yml)
3.1.1 继承Starter Parent

要将项目配置继承 spring-boot-starter-parent,只需要按以下方式设置parent:

<!-- 从 Spring Boot 继承默认配置 -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.0.RELEASE</version>
</parent>


3.2、Starter

Starter 是一组惯例依赖描述资源,可以包含在应用中。从 starter 中,您可以获得所需的所有 Spring 和相关技术的一站式支持,无须通过示例代码和复制粘贴来获取依赖。比如,如果您要使用 Spring 和 JPA 进行数据库访问,那么只需要在项目中包含 spring-boot-starter-data-jpa 依赖项即可。

Spring Boot 在 org.springframework.boot group下提供了以下应用 starter:

3.2.1 Spring Boot 应用类 Starter
名称描述
spring-boot-starter核心 starter,包含自动配置支持、日志和 YAML
spring-boot-starter-activemq提供 JMS 消息支持,使用 Apache ActiveMQ
spring-boot-starter-amqp提供 Spring AMQP 与 Rabbit MQ 支持
spring-boot-starter-aop提供 Spring AOP 与 AspectJ 面向切面编程支持
spring-boot-starter-artemis提供 JMS 消息服务支持,使用 Apache Artemis
spring-boot-starter-batch提供 Spring Batch 支持
spring-boot-starter-cache提供 Spring Framework 缓存支持
spring-boot-starter-cloud-connectors使用 Spring Cloud Connectors 简单连接到类似 Cloud Foundry 和 Heroku 等云平台
spring-boot-starter-data-cassandra提供对 Cassandra 分布式数据库和 Spring Data Cassandra 的支持
spring-boot-starter-data-cassandra-reactive提供对 Cassandra 分布式数据库和 Spring Data Cassandra Reactive 的支持
spring-boot-starter-data-couchbase提供对 Couchbase 面向文档数据库和 Spring Data Couchbase 的支持
pring-boot-starter-data-couchbase-reactive提供对 Couchbase 面向文档数据库和 Spring Data Couchbase Reactive 的支持
spring-boot-starter-data-elasticsearch提供对 Elasticseach 搜索与分析引擎和 Spring Data Elasticsearch 的支持
spring-boot-starter-data-jpa供 Spring Data JPA 与 Hibernate 的支持
spring-boot-starter-data-mongodb提供对 MongoDB 面向文档数据库和 Spring Data MongoDB 的支持
spring-boot-starter-data-mongodb-reactive提供对 MongoDB 面向文档数据库和 Spring Data MongoDB Reactive 的支持
spring-boot-starter-data-neo4j提供对 Neo4j 图数据库与 SPring Data Neo4j 的支持
spring-boot-starter-data-redis提供对 Redis 键值数据存储、Spring Data Redis 和 Lettuce 客户端的支持
spring-boot-starter-data-redis-reactive提供对 Redis 键值数据存储、Spring Data Redis Reactive 和 Lettuce 客户端的支持
spring-boot-starter-data-rest提供使用 Spring Data REST 通过 REST 暴露 Spring Data 资源库的支持
spring-boot-starter-freemarker提供使用 Freemakrer 视图构建 MVC web 应用的支持
spring-boot-starter-jdbc提供 JDBC 与 Tomcat JDBC 连接池的支持
spring-boot-starter-json提供了读写 json 的支持
spring-boot-starter-mail提供使用 Java Mail 与 Spring Framework 的邮件发送支持
spring-boot-starter-securitySpring Security 支持
spring-boot-starter-test供包含了 JUnit、Hamcrest 与 Mockito 类库的 Spring Boot 单元测试支持
spring-boot-starter-thymeleaf提供使用 Thymeleaf 视图构建 MVC web 应用的支持
spring-boot-starter-validation提供 Hibernate Validator 与 Java Bean Validation 的支持
spring-boot-starter-web提供使用 Spring MVC 构建 web(包含 RESTful)应用的支持,使用 Tomcat 作为默认嵌入式容器
spring-boot-starter-web-servicesSpring Web Services 支持
spring-boot-starter-webflux提供使用 Spring Framework 的 Reactive Web 支持构建 WebFlux 应用的支持
spring-boot-starter-websocket提供使用 Spring Framework 的 WebSocket 支持构建 WebSocket 应用的支持
3.2.2 Spring Boot技术类 starter
名称描述
spring-boot-starter-jetty使用 Jetty 作为嵌入式 servlet 容器。可代替 spring-boot-starter-tomcat
spring-boot-starter-log4j2使用 Log4j2 作为日志组件。可代替 spring-boot-starter-logging
spring-boot-starter-logging使用 Logback 作为日志组件,此 starter 为默认的日志 starter
spring-boot-starter-reactor-netty使用 Reactor Netty 作为内嵌响应式 HTTP 服务器
spring-boot-starter-tomcat使用 Tomcat 作为嵌入式 servlet 容器,此为 spring-boot-starter-web 默认的 servlet 容器 starter
spring-boot-starter-undertow使用 Undertow 作为嵌入式 servlet 容器,可代替 spring-boot-starter-tomcat

3.3 使用@SpringBooApplication注解

很多 Spring Boot开发者总是使用 @Configuration、@EnableAutoConfiguration 和 @ComponentScan 注解标记在主类上。由于 这些注解经常一起使用。Spring Boot 提供了一个更方便的 @SpringBootApplication 注解可用来替代这个组合。

@SpringBootApplication注解相当于使用 @Configuration、@EnableAutoConfiguration 和@ComponentScan及他们的默认属性:

package com.example.myapplication;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
加入Java开发交流君样:484138291一起吹水聊天

@SpringBootApplication // 相当于使用 @Configuration @EnableAutoConfiguration @ComponentScan
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}


四、SpringBoot 特性

4.1 自定义banner

可以通过在 classpath 下添加一个banner.txt文件,或者将 spring.banner.location 属性指向该文件的位置来更改启动时打印的banner。如果文件采用了非 UTF-8 编码,您可以设置 spring.banner.charset 来解决。除了文本文件,您还可以将 banner.gif、banner.jpg 或者 banner.png 图片文件添加到classpath下,或者设置 spring.banner.image.location 属性。指定的图片将会被转换成 ASCII形式并打印在 banner文本上方。

变量描述
${application.version}您的应用版本号,声明在 MANIFEST.MF中。例如,Implementation-Version: 1.0 将被打印为 1.0。
${application.formatted-version}您的应用版本号,声明在 MANIFEST.MF 中,格式化之后打印(用括号括起来,以 v 为前缀),例如 (v1.0)。
${spring-boot.version}您使用的 Spring Boot版本。例如 2.1.1.RELEASE.。
${spring-boot.formatted-version}您使用的 ~Spring Boot ~版本格式化之后显示(用括号括起来,以 v 为前缀)。例如 (v2.1.1.RELEASE)。
$ {Ansi.NAME}(或 A n s i C o l o r . N A M E ‘ 、 {AnsiColor.NAME`}、 AnsiColor.NAME‘、 {AnsiBackground.NAME}、$ {AnsiStyle.NAME}) | 其中NAME 是 ANSI转义码的名称。有关详细信息,请参阅 AnsiPropertySource`。
${application.title}您的应用标题,声明在 MANIFEST.MF中,例如Implementation-Title: MyApp 打印为 MyApp。

注意

YAML 将 off 映射为 false,因此如果要禁用应用程序 banner,请确保属性添加引号。

spring:
    main:
        banner-mode: "off"


4.2 外部化配置

Spring Boot 可以让您的配置外部化,以便可以在不同环境中使用相同的应用程序代码。您可以使用properties 文件、YAML 文件、环境变量或者命令行参数来外部化配置。可以使用 @Value 注解将属性值直接注入到 bean 中,可通过 Spring的 Environment 访问,或者通过 @ConfigurationProperties 绑定到结构化对象。

Spring Boot使用了一个非常特别的 PropertySource 指令,用于智能覆盖默认值。属性将按照以下顺序处理:

  1. 在您的主目录(当 devtools被激活,则为 ~/.spring-boot-devtools.properties )中的 Devtools 全局设置属性。
  2. 在测试中使用到的 @TestPropertySource 注解。
  3. 在测试中使用到的 properties 属性,可以是 SpringBootTest和用于测试应用程序某部分的测试注解。【获取资料】
  4. 命令行参数。
  5. 来自 SPRING_APPLICATION_JSON的属性(嵌入在环境变量或者系统属性【system propert】中的内联JSON)。
  6. ServletConfig初始化参数。
  7. ServletContext初始化参数。
  8. 来自java:comp/env的 JNDI 属性。
  9. Java 系统属性(System.getProperties())。
  10. 操作系统环境变量。
  11. 只有 random.* 属性的 RandomValuePropertySource。
  12. 在已打包的 jar 外部的指定 profile 的应用属性文件(application-{profile}.properties 和 YAML 变量)。
  13. 在已打包的 jar 内部的指定profile的应用属性文件(application-{profile}.properties 和 YAML 变量)。
  14. 在已打包的 jar 外部的应用属性文件(application.properties和 YAML变量)。
  15. 在已打包的 jar 内部的应用属性文件(application.properties和 YAML 变量)。
  16. 在 @Configuration 类上的 @PropertySource 注解。
  17. 默认属性(使用 SpringApplication.setDefaultProperties指定)。

举个例子,假设开发的 @Component使用了 name 属性,可以这样:

import org.springframework.stereotype.*;
import org.springframework.beans.factory.annotation.*;

@Component
public class MyBean {
加入Java开发交流君样:484138291一起吹水聊天

    @Value("${name}")
    private String name;

    // ...

}

在您的应用程序的 classpath 中(比如在 jar 中),您可以有一个 application.properties,它为 name提供了一个合适的默认属性值。当在新环境中运行时,您可以在 jar 外面提供一个 application.properties 来覆盖 name。对于一次性测试,您可以使用命令行指定形式启动(比如 java -jar app.jar --name="Spring")。


4.3 @ConfigurationProperties验证

只要使用了 Spring 的 @Validated注解,Spring Boot就会尝试验证 @ConfigurationProperties 类。您可以直接在配置类上使用 JSR-303 javax.validation 约束注解。为此,请确保 JSR-303 实现在 classpath 上,然后将约束注解添加到字段上,如下所示:

@ConfigurationProperties(prefix="acme")
@Validated
public class AcmeProperties {
加入Java开发交流君样:484138291一起吹水聊天

    @NotNull
    private InetAddress remoteAddress;

    // ... getters and setters

}

虽然绑定时也会验证嵌套属性,但最好的做法还是将关联字段注解上 @Valid。这可确保即使未找到嵌套属性也会触发验证。以下示例基于前面的 AcmeProperties示例:

@ConfigurationProperties(prefix="acme")
@Validated
public class AcmeProperties {

    @NotNull
    private InetAddress remoteAddress;

    @Valid
    private final Security security = new Security();

    // ... getters and setters
加入Java开发交流君样:484138291一起吹水聊天

    public static class Security {

        @NotEmpty
        public String username;

        // ... getters and setters

    }

}

您还可以通过创建一个名为 configurationPropertiesValidator 的bean定义来添加自定义 Spring Validator。应该将@Bean方法声明为 static。配置属性验证器在应用程序生命周期的早期创建,将 @Bean 方法声明为 static 可以无需实例化 @Configuration 类来创建 bean。这样做可以避免早期实例化可能导致的意外问题。这里有一个属性验证示例,讲解了如何设置。


4.4 @ConfigurationProperties 与 @Value 对比

@Value注解是核心容器功能,它不提供与类型安全配置属性相同的功能。下表总结了 @ConfigurationProperties 和 @Value 支持的功能:

功能@ConfigurationProperties@Value
宽松绑定是否
元数据支持是否
SpEL 表达式否是

分类: Spring Boot
最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。

可以的话请给我一个三连支持一下我哟???【获取资料】

Java就业面试八股文:从背题到能力验证的实战指南 Java面试中的‘八股文’本质是工程化能力的验证工具,而非知识记忆清单。其底层逻辑围绕JVM原理、并发编程、Spring框架设计哲学等核心概念展开,强调对技术原理的深度理解与生产场景的映射能力。真正的高频考点,如HashMap扩容机制、Redis缓存穿透防控、ThreadLocal与事务管理耦合关系,均指向系统思维、问题归因和多点串联能力。技术价值在于将抽象概念转化为可验证行为——例如通过jstat诊断GC假性CPU飙升,或用EXPLAIN验证B+树索引生效路径。应用场景覆盖校招入门定位、社招原理深挖及线上 阅读详情

相关推荐

AI Agent实战选型指南:闭源旗舰、开源框架、国产Agent与代码专用方案对比

AI Agent并非单一技术概念,而是融合大语言模型、工具调用、状态记忆与错误恢复的工程系统。其核心原理在于将自然语言指令转化为可执行动作链,并在动态环境中维持语义一致性与执行鲁棒性。技术价值体现在降低人机协作摩擦、提升研发自动化水位,尤其在日志诊断、API测试、CI/CD修复、代码重构等高频开发场景中释放显著效能。当前主流方案已分化为四类:闭源旗舰强调开箱即用与交付确定性;开源框架提供深度定制与私有化可控能力;国产Agent强化中文语义理解与本土云生态适配;代码专用Agent则聚焦AST解析、Git/CI

359

阿里架构师带你入门Springboot!三分钟学写“Hello,World”程序!

阿里架构师带你入门Springboot!三分钟学写“Hello,World”程序!第一个springboot程序Hello,World**一、创建Springboot项目****二、添加SpringWeb框架,再点击完成****三、可以选择删除多余文件****四、等待项目下载完成****五、springboot主启动类,springboot从这里开始跑****六、新建controller包****七、在controller包下新建HelloWorld类****八、在Springboot主启动类启动项目**.

Delilah_java的博客 605

程序员的思维操作系统:用Programming.log构建可追溯的技术认知

在软件工程实践中,'技术日志'正从辅助记录演变为支撑深度思考的核心基础设施。它基于时间戳锚定真实问题场景,依托结构化元数据(如tech版本、env环境、trigger事件)实现知识可验证与可回溯,其本质是面向工程师自身认知升级的‘个人思维操作系统’。相比传统博客强调传播性与结论完整性,技术日志聚焦单点穿透、失败路径显性化和上下文快照,天然适配SRE事后分析、调试复盘与团队知识沉淀等高频工程场景。本文详解如何以Obsidian+Git为基座,通过YAML元数据规范、双向链接上下文声明与五段式闭环模板,将碎片化

世范水晶 505

三分钟迁移Spring boot工程到Serverless

前言 Spring Boot已成为当今最流行的Java后端开发框架,典型的应用方式是在云上购买一台虚拟机,每天24小时在上面运行Java程序,在这种情况下,用户必须维护自己的虚拟机环境,而且按照包月包年等方式进行付费。   华为云FunctionGraph(函数工作流服务)有着零运维、低成本计算的特点,FunctionGraph按需运行代码,无需配置和管理主机,您仅需为代码执行的每100ms...

middleware2018的博客 914

企业私有化AI编程助手:安全可控的代码智能落地指南

AI编程助手已从开发者效率工具演进为组织级安全基础设施。其核心在于将大模型能力嵌入企业IT治理体系,实现代码上下文隔离、提示词版本化管理与通信链路加密。关键技术支撑包括检索增强生成(RAG)提升领域理解精度、规则驱动校验引擎保障编码规范强制执行,以及mTLS双向认证、设备指纹绑定和动态代码脱敏构成的三重门安全架构。在信创适配、等保三级合规、国密SM4加密及RBAC权限矩阵等硬性要求下,DeepSeek-Coder、Qwen-Coder与CodeGeeX展现出差异化适用场景。本文聚焦python开发企业管理平

593

DeepSeek R1替代方案全解析:从卡顿根源到AI使用操作系统

大语言模型(LLM)作为新型基础设施,其服务稳定性与接入方式直接影响工程效率。DeepSeek R1虽为开源MoE架构的里程碑模型,但官方Web服务未适配高并发场景,本质是科研快照而非SaaS产品。理解其671B参数规模与实际部署限制(如显存需求、量化精度断崖、API熔断机制),是选择合理接入路径的前提。技术价值体现在低延迟响应、上下文稳定性及专业领域准确率,典型应用场景覆盖内容创作、编程辅助、学术研究、企业知识管理等。本文基于实测数据与多平台对比,系统拆解云API、聚合工具、IDE集成、本地部署四类路径,

388

【Kubernetes从入门到精通】第02篇:容器到底是个啥——Docker快速入门

本文介绍了Docker容器的核心概念与应用价值。主要内容包括: 容器与虚拟机的本质区别:容器共享宿主机内核,实现轻量级隔离,相比虚拟机更轻便高效。 Docker三大核心要素: 镜像(Image):只读的应用模板 容器(Container):镜像的运行实例 仓库(Registry):镜像的存储中心 关键优势:通过容器化实现环境一致性,解决"开发环境能跑,生产环境报错"的经典问题。 技术特点:容器启动速度快(秒级)、资源占用小(MB级)、支持分层存储,适合微服务架构。 本文通过生动比喻和实操命令,帮助开发者快速

xyghehehehe的专栏 372

Java生产级RAG系统:边缘部署、内存优化与知识库工程化

RAG(检索增强生成)作为大模型落地的关键范式,其核心在于将非结构化知识转化为可索引、可验证、可运维的工程化数据结构。在Java技术栈中,RAG不仅涉及向量检索与LLM调用,更直面JVM内存管理、类加载隔离、Spring生命周期协同等底层约束。本文聚焦Java RAG的生产就绪实践,深入解析堆外内存控制、HNSWlib JNI封装、语义加权分块、状态机驱动的检索-生成协同等关键技术,解决OutOfMemoryError、Docker构建失败、env变量注入异常等高频工程痛点。适用于信创环境适配、政务知识中台

cuixie2370的博客 382

开源项目:SMS4J -- 让发送短信变的更简单。

SMS4J ,让发送短信变的更简单。腾讯云短信、阿里云短信、网易云短信、合一短信等等。并且目前SMS4J 拥有众多优秀的特点:开箱即用:极简单的配置,方便的使用,三分钟即可完成发送短信的功能简单优雅:统一各个厂商的发送方式和功能,省去学习不同短信厂商的差异化方法,做到极简使用切换灵活:只需要通过配置文件即可立即切换不同的服务商,省去查阅文档和ctrl c v,发送短信,有手就行功能丰富:对于短信中常见的限制和规则,不需要编写额外的功能方法和模块,只需要开启配置即可,后续还将集成更多功能方便使用。

m0_60492092的博客 2622

同城上门预约系统源码拆解:从派单逻辑到多端运营落地

同城生活服务O2O模式正深刻改变传统到店消费形态,以“线上下单、技师上门、平台抽佣”为代表的上门服务系统,本质是供需两端的信息匹配与信任背书。其背后依赖一套包含用户端、技师端、管理后台的多端协同架构,而派单引擎、LBS定位、消息推送与支付分账则构成核心技术底座。对于希望快速进入该领域的创业者而言,选择一套功能完整、业务逻辑成熟的运营版源码,能显著降低从零开发的试错成本。这类系统不仅适用于推拿美容,也可扩展至家政、维修、宠物服务等泛同城场景。本文从预约链路、技师接单调度、后台派单策略、小程序开发避坑等维度,拆

weixin_34319111的博客 384

[TI板]MSPM0G3507——keil环境配置+烧录配置+vscode配置+空工程迁移+点灯+芯片解锁教程

本文介绍了MSPM0G3507开发环境的配置与烧录方法。主要内容包括:1)下载安装芯片支持包和SDK开发工具;2)通过串口或DAPLink两种方式实现程序烧录,详细说明了UniFlash软件的使用步骤和常见问题解决方法;3)简要提及工程迁移和LED点灯等基础操作。文章提供了完整的开发环境搭建指南,涵盖从软件安装到实际烧录的全过程,并附有相关工具下载链接和操作截图,帮助开发者快速上手MSPM0G3507开发。

qq_23220445的博客 1万+

GLM-Image在电商领域的创新应用:Java实现商品主图自动生成

本文介绍了如何在星图GPU平台上自动化部署智谱AI GLM-Image 文本生成图像模型的 Web 交互界面,快速构建电商商品主图生成服务。依托平台一键部署能力,企业可高效实现中文提示驱动的高清主图批量生成,显著提升上架效率与视觉一致性。

weixin_35757191的博客 98

NSGA-III相关笔记

NSGA-III目录目的区别NSGA-III的算法流程非支配排序详解归一化详解 目录 NSGA-III基于matlab的实现 参考文献 1.An Evolutionary Many-Objective Optimization Algorithm Using Reference-point Based Non-dominated Sorting Approach,Part I: Solving P...

weixin_42555400的博客 1万+

程序员面试预习准备:构建公司-岗位-团队三维认知模型

面试不是知识考试,而是双向价值评估的技术对话。其底层逻辑在于建立对目标公司的最小可行认知模型——涵盖业务实质、真实技术栈与团队技术文化三个维度。这种结构化预习能帮你识别问题背后的意图、主动引导对话、提出有深度的问题,从而将应试转化为专业共识共建。尤其在垂直领域(如SaaS财税、AI医疗)或中型技术团队(SUMTEC类)中,脱离业务语境的泛泛而谈极易导致技术表达脱靶。本文聚焦‘预习准备’这一被95%候选人忽视的胜负手,提供可落地的信息采集路径与现场沟通转化方法,助力工程师从‘答题者’成长为‘共建者’。

rongdmmap的博客 463

从零到一:RagFlow源码架构深度解析与二次开发实战指南

本文深入解析RagFlow源码架构,提供从环境搭建到二次开发的全流程实战指南。作为企业级AI搜索框架,RagFlow通过模块化设计和多模态处理能力,支持自定义智能体开发与文搜文档功能,帮助开发者高效构建智能搜索系统。

w1x2y3的博客 268

多标签分类怎么做?(Python)

首先简单介绍下,多标签分类与多分类、多任务学习的关系: 多分类学习(Multi-class):分类器去划分的类别是多个的,但对于每一个样本只能有一个类别,类别间是互斥的。例如:分类器判断这只动物是猫、狗、猪,每个样本只能有一种类别,就是一个三分类任务。常用的做法是OVR、softmax多分类

y1282037271的博客 1360

从刷题工具到面试模拟器:在线刷题平台的核心设计与工程实践

在程序员面试准备过程中,算法题、八股文和系统设计题往往分散在不同平台,传统刷题方式难以覆盖完整知识链路。在线刷题工具的核心价值在于将知识结构化、练习场景化,通过间隔重复、模拟追问和错题复盘等机制,帮助用户从被动背题转向主动理解。本文从在线评测系统、沙箱隔离、前后端技术选型、内容生产与审核流程等工程视角展开,结合Spring Boot、Redis、LXC等主流技术实践,分析如何构建一个高可用、低成本的刷题平台,并讨论面向程序员群体的冷启动运营与用户增长策略。无论是正在准备跳槽的开发者,还是希望自建技术学习产品

weixin_33806300的博客 739

Robocopy 参数进阶:/MIR 镜像同步与 /PURGE 删除操作的风险规避指南

本文深入解析Robocopy的/MIR镜像同步与/PURGE删除操作的高级用法及风险规避策略。通过实际案例和四重防护机制,指导用户安全实现目录同步,避免数据丢失风险,特别适用于远程主机间的数据复制与备份场景。

weixin_33462927的博客 358

2025国产大模型实战指南:职场人如何选对AI工具

大型语言模型(LLM)作为人工智能的核心技术,已从实验室走向真实办公场景。其本质是基于海量文本学习语言规律与知识关联的深度神经网络,技术价值在于将模糊需求转化为可执行结果。当前国产大模型在通用能力上趋于均质化,真正差异体现在对中文语境、业务逻辑和多模态输入的理解深度——即‘场景穿透力’。典型应用场景包括政务文档解析、方言语音转写、销售数据分析、小红书文案生成等高频职场任务。本文聚焦GPT类交互范式下的实测经验,不比参数,只看能否三分钟提炼招标文件风险点、能否听懂带口音的客户投诉、能否把Excel数据自动变成

chuanao8829的博客 401

Kaggle赛题总结:Enefit - Predict Energy Behavior of Prosumers

竞赛旨在解决能源不平衡的问题,即预计使用的能源与实际使用或产生的能源不符。自发自用者是既消耗又产生能源的个体,他们在造成能源不平衡方面起到了重要作用。尽管他们只占所有能源消费者的一小部分,但他们不可预测的能源使用行为给能源公司带来了物流和财务问题。如果不加以解决,可能会导致运营成本增加、电网不稳定以及能源资源的低效利用。如果这个问题得到有效解决,将显著降低不平衡成本,提高电网的可靠性,并使自发自用者更高效和可持续地融入能源系统中。

猫敷雪 741

DICOM标准:DICOM医学影像中的覆盖层(Overlay)概念详解

DICOM标准:深入详解DICOM医学影像中的覆盖层(Overlay)

编程技术探索者,分享C/C++、C#、Java、数据库等开发经验,聚焦实战技巧与AI兴趣,助力编程爱好者成长。 1564

PCM编码与音频文件格式底层解析

PCM(脉冲编码调制)是模拟声音数字化最基础的编码方式,其核心在于采样、量化与线性排列——它不是文件格式,而是未经压缩的原始数字表示法。理解PCM需掌握奈奎斯特采样定理、量化位深对信噪比的实际影响,以及字节序(Endianness)对嵌入式解析的关键作用;而WAV等文件格式本质是封装PCM的‘容器’,其44字节头部结构直接决定播放器能否正确识别采样率、位深与声道数。技术价值体现在嵌入式音频调试、ADSP芯片对接、VS2022二进制读取及REST API裸数据传输等真实场景。本文聚焦pcm编码规则与文件格式转

weixin_34269583的博客 471

《Scratch图形化等级考试(1~4级)历届真题解析》专栏总目录

❤️ 专栏名称:《🌸 专栏介绍:中国电子学会《全国青少年软件编程等级考试》Scratch图形化等级考试(1~4级)历届真题解析。🚀 订阅专栏:原价 99.9,🔥 火爆订阅中 🔥,限时 19.9。订阅后可阅读专栏内所有文章,本专栏持续更新中,欢迎订阅!

人生就是一个不断学习的过程 1万+
上一篇: 面试被问设计模式,Java老司机教你怎么应对?看完给我狠怼面试官!!!
下一篇: 面试被问到JAVA垃圾回收机怎么办?搞懂JVM !大厂Offer手到擒来!
Danny_java
博客等级 码龄5年 9粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值