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

Spring boot 学习笔记2

Maven

  • 项目管理工具:Maven 通过 pom.xml(Project Object Model)文件描述项目配置,包括依赖、构建流程、插件等,实现项目标准化管理 
  • 依赖管理:自动下载并管理项目所需的第三方库(如 Spring、MyBatis),解决手动导入 Jar 包的繁琐问题。开发者只需在 pom.xml 中声明依赖坐标(GroupId、ArtifactId、Version),Maven 会从本地或远程仓库自动获取 
  • 构建自动化:提供编译、测试、打包、部署等一键式命令(如 mvn compilemvn package),标准化构建流程

在 Maven 项目的 pom.xml 中配置镜像源(如阿里云、腾讯云等)主要是为了解决依赖下载速度慢、网络不稳定等问题,同时提升开发效率和团队协作的灵活性。

  • Maven 默认从中央仓库(位于国外)下载依赖,国内访问速度慢,尤其对于大型项目或复杂依赖链,可能导致构建超时或失败 
  • 解决方案:在 pom.xml 中配置国内镜像源(如阿里云),将下载请求重定向到国内服务器,显著提升下载速度。例如:

1.@RequestParam

@RequestParam 是 Spring MVC 中的一个注解,用于将 HTTP 请求中的查询参数(Query Parameters)绑定到控制器方法的参数上。它非常适用于处理 GET 请求中的参数,但也可以用于其他类型的请求(如 POST 请求中的查询参数)。

示例代码

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;@RestController
public class ExampleController {@GetMapping("/search")public String search(@RequestParam String query) {return "You searched for: " + query;}
}

注意在查询时要通过查询参数添加参数

例如 http://localhost:8088/search?query=一万千 

2.Jpa动态生成查询方法

通过 Spring Data JPA 的方法命名规则动态生成

例如

@Repository
public interface libraryListRepository extends JpaRepository<book, Integer> {List<book> findByTitleAndAuthor(String title, String author);}

会动态生成查询title和author的方法

3.@Configuration

@Configuration 是 Spring 框架中的一个注解,用于定义配置类。它是一个核心注解,用于替代传统的 XML 配置文件,提供了一种基于注解的方式来定义 Spring 容器中的 Bean 和配置信息

4.@Bean

@Bean 是 Spring 框架中的一个注解,用于在配置类中定义一个 Bean。它告诉 Spring 容器,该方法返回的对象应该被注册为一个 Bean,并且可以被其他组件使用。@Bean 注解通常与 @Configuration 注解一起使用,以声明式地定义 Spring 容器中的 Bean。

@Bean 注解的方法在 Spring 容器初始化时被调用,其返回的对象被注册为一个 Bean。Spring 容器会管理这些 Bean 的生命周期,包括初始化、依赖注入、销毁等。

5.@RequiredArgsConstructor

@RequiredArgsConstructor 会生成一个构造函数,该构造函数包含所有标记为 final 或使用 @NonNull 注解的字段。这样可以确保在创建对象时,这些字段必须被初始化,从而避免 null 值导致的潜在问题。

6.final

主要用于确保某些变量、方法或类在初始化后不能被修改

 变量
  • 不可变性final 修饰的变量在初始化后不能被重新赋值。

  • 线程安全final 修饰的变量在多线程环境中是线程安全的,因为它们的值不会改变。

方法

  • 不可覆盖final 修饰的方法不能被子类覆盖。

  • 性能优化:在某些情况下,final 方法可以被 JVM 优化,因为它们不会被覆盖。

7.依赖注入

依赖注入(Dependency Injection, DI)是 Spring 框架的核心功能之一,它允许你将对象的依赖关系由 Spring 容器来管理,而不是在对象内部直接创建或查找这些依赖。这种方式可以显著提高代码的可维护性、可测试性和松耦合性。

Spring 支持多种依赖注入的方式,主要包括:

构造器注入

Setter 方法注入

字段注入

  • 直接在字段上使用 @Autowired 注解注入依赖。

  • 适用于非 final 字段,但不推荐在复杂场景中使用,因为它破坏了类的封装性。

依赖注入的步骤

  • 使用 @Bean 注解在配置类中定义 Bean。

@Configuration
public class AppConfig {@Beanpublic MyService myService(AnotherService anotherService) {return new MyService(anotherService);}
}
  • 在其他组件中,通过 @Autowired 注解注入所需的 Bean。

@Service
public class AnotherComponent {@Autowiredprivate MyService myService;public void doSomething() {myService.doSomething();}
}

如果存在多个相同类型的 Bean,Spring 会尝试通过以下方式解决歧义:

  • 使用 @Qualifier 注解指定具体的 Bean。

@Autowired
@Qualifier("specificBean")
private MyService myService;

或者是定义Bean的优先级

@Repository,@Controller,@Service都会把接口或者类注册成Bean在需要时注入

@Autowired:自动注入依赖。
@Qualifier:解决依赖注入时的歧义问题。
@Primary:指定优先级较高的 Bean。
@Value:注入配置文件中的值或表达式。
@Resource:注入依赖,类似于 @Autowired。
@Inject:注入依赖,类似于 @Autowired。
@Configuration:标记配置类,定义和管理 Bean。
@Component:标记组件类,Spring 会自动扫描这些类并将它们注册为 Bean。
@Controller:标记控制器类,处理 HTTP 请求。
@Repository:标记数据访问层类,Spring 会自动处理数据访问层的异常。
@Service:标记服务层类,包含业务逻辑。

8.Ollama

在 Spring AI 中,Ollama 是一个用于管理大型语言模型(LLM)的工具

首先对于这个你要添加对应的依赖

//ollama的springai启动项
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-ollama-spring-boot-starter</artifactId><version>${spring-ai.version}</version>
</dependency><dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>1.1.0</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>
@Bean
public ChatClient chatClient(OllamaChatModel model)
{return ChatClient.builder(model).defaultSystem("你是一个给书籍分类的工作人员").build();
}

注册一个bean就能使用了

9.调用ai接口

这里我调用的是moonshot模型,需要使用api可以去官网申请有免费的额度

<!--moonshot的依赖-->
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-moonshot</artifactId><version>1.0.0-M7</version><type>pom</type>
</dependency>//如果说中央仓库没有这个依赖可以去阿里的镜像maven仓库
<repositories><repository><id>alimaven</id><name>aliyun maven</name><url>https://maven.aliyun.com/repository/public</url></repository>
</repositories>

仓库服务

10.JPA

JPA(Java Persistence API)

JPA 是 Java EE 和 Java SE 的一部分,用于管理 Java 应用程序中的关系数据。它提供了一个标准的 ORM(对象关系映射)机制,允许开发者使用 Java 对象来操作数据库,而无需编写 SQL 语句。

@Entity
  • 作用:标记一个类为 JPA 实体类,表示这个类映射到数据库中的一个表

@Table
  • 作用:指定实体类映射到数据库中的表名。

@Id
  • 作用:标记实体类中的主键字段。

@GeneratedValue
  • 作用:指定主键的生成策略。

@Column
  • 作用:指定实体类中的字段映射到数据库表中的列。

@Modifying
  • 作用:标记一个方法为修改操作(如 UPDATEDELETE),通常用于自定义的 @Query 注解方法。

@Query
  • 作用:定义一个自定义的 JPQL 查询。

@Param
  • 作用:为查询方法中的命名参数指定名称。

 基于命名方法的查询

Spring Data JPA 提供了一种非常方便的方式来定义查询方法,只需根据方法名称的命名规则来定义方法即可。Spring Data JPA 会根据方法名称自动生成相应的查询。

示例

import org.springframework.data.jpa.repository.JpaRepository;public interface MessageBoardRepository extends JpaRepository<MessageBoard, Long> {int findLikesById(Long id);
}

11.JPQL

JPQL 是 Java Persistence Query Language 的缩写,它是 JPA(Java Persistence API)的一部分,用于操作持久化实体的查询语言。JPQL 与 SQL 类似,但它操作的是实体类及其属性,而不是数据库表及其列。这使得 JPQL 更加面向对象,与 Java 实体类的映射关系更加紧密。

JPQL 的特点

  • 面向对象:JPQL 操作的是实体类及其属性,而不是数据库表及其列。

  • 类型安全:JPQL 查询在编译时会进行类型检查,减少运行时错误。

  • 与数据库无关:JPQL 是一种高级抽象,与具体的数据库无关,便于在不同数据库之间迁移。

  • 集成性:JPQL 与 JPA 的其他功能(如实体管理器、事务管理等)无缝集成。

SELECT m FROM MessageBoard m

@Transactional 的作用

@Transactional 注解用于声明事务管理。它告诉 Spring 框架,被注解的方法应该在一个事务上下文中执行。如果方法执行过程中发生异常,事务将会回滚,确保数据的一致性。

何时需要使用 @Transactional

  • 执行更新操作:当你执行 INSERTUPDATEDELETE 等修改数据库的操作时,通常需要使用 @Transactional 注解。这是因为这些操作需要在一个事务中执行,以确保数据的一致性。

  • 执行复杂查询:如果你的查询操作涉及多个数据库操作,或者需要在查询后进行一些修改操作,使用 @Transactional 可以确保这些操作在一个事务中完成。

  • 默认事务管理:即使你的方法不直接执行更新操作,但调用了其他可能修改数据库的方法,使用 @Transactional 可以确保事务的一致性。

12.事务

事务管理的基本概念

事务是数据库操作的一个基本单位,它确保一系列操作要么全部成功,要么全部失败,从而保证数据的一致性。事务具有以下四个特性(ACID):

  • 原子性(Atomicity):事务中的所有操作要么全部成功,要么全部失败。

  • 一致性(Consistency):事务执行前后,数据库的状态保持一致。

  • 隔离性(Isolation):多个事务并发执行时,每个事务看到的数据是一致的,不会受到其他事务的干扰。

  • 持久性(Durability):事务提交后,其结果是永久性的,即使系统发生故障也不会丢失。

@Transactional 注解的作用

@Transactional 注解用于声明事务管理。它告诉 Spring 框架,被注解的方法应该在一个事务上下文中执行。具体来说:

  • 事务的开始:当方法被调用时,Spring 框架会自动开启一个新的事务。

  • 事务的提交:如果方法正常执行完成,Spring 框架会提交事务,将所有操作永久保存到数据库中。

  • 事务的回滚:如果方法执行过程中抛出异常,Spring 框架会回滚事务,撤销所有操作,确保数据库状态保持一致。

相关文章:

Spring boot 学习笔记2

Maven 项目管理工具&#xff1a;Maven 通过 pom.xml&#xff08;Project Object Model&#xff09;文件描述项目配置&#xff0c;包括依赖、构建流程、插件等&#xff0c;实现项目标准化管理 依赖管理&#xff1a;自动下载并管理项目所需的第三方库&#xff08;如 Spring、MyB…...

“保证医疗器械信息来源合法 真实、安全的保障措施、情况说明及相关证明”模板

保证医疗器械信息来源合法真实、安全的保障措施、情况说明及相关证明 一、医疗器械信息来源合法、真实、安全的管理措施 目前我公司网站所展示的医疗器械是企业代理品种&#xff0c;是取得合法注册资格的产品&#xff0c;拥有合法证明文件的产品。本网站仅展示本公司行政许可…...

Feature Toggle 不再乱:如何设计一个干净、安全、可控的特性开关系统?

网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…...

不锈钢保温容器行业2025数据分析报告

不锈钢保温容器市场概况 2024年全球不锈钢保温容器市场规模约为453.3亿元&#xff0c;预计到2031年将增长至608.3亿元&#xff0c;年均复合增长率&#xff08;CAGR&#xff09;为4.3%。这一增长主要得益于全球范围内对保温容器需求的持续增加&#xff0c;尤其是在户外活动、餐…...

leetcode239 滑动窗口最大值deque方式

这段文字描述的是使用单调队列&#xff08;Monotonic Queue&#xff09; 解决滑动窗口最大值问题的优化算法。我来简单解释一下&#xff1a; 核心思路 问题分析&#xff1a;在滑动窗口中&#xff0c;若存在两个下标 i < j 且 nums[i] ≤ nums[j]&#xff0c;则 nums[i] 永远…...

腾讯云怎么在游戏云中助力

腾讯云游戏云&#xff1a;依托深厚游戏基因&#xff0c;打造高质量全方位生态平台 在竞争激烈的云计算市场中&#xff0c;腾讯云凭借其得天独厚的游戏生态资源和深耕多年的技术沉淀&#xff0c;正成为游戏行业不可忽视的重要力量。腾讯不仅是全球领先的游戏开发和发行商&#…...

深入理解pip:Python包管理的核心工具与实战指南

# 深入理解pip&#xff1a;Python包管理的核心工具与实战指南 在Python开发中&#xff0c;第三方库是提升效率的关键。而pip作为Python官方的包管理工具&#xff0c;承担着安装、卸载、升级和管理库的重要职责。本文将全面解析pip的核心命令&#xff0c;结合实例演示用法&#…...

【python】windows修改 pip 默认安装路径

在 Windows 系统 下&#xff0c;希望修改 pip 默认安装路径&#xff0c;结合你前面贴的图片和信息&#xff0c;一个 推荐做法&#xff08;不修改 site.py&#xff09;的完整教程。 目标&#xff1a;让 pip 安装包默认装到你指定的路径&#xff08;如 D:\MyPythonLibs&#xff…...

Python函数——万字详解

—— 小 峰 编 程 导 语&#xff1a; 从今天开始&#xff0c;我们将进入第二模块的学习——函数。第一模块主要是学习python基础知识&#xff0c;从第二模块开始就可以通过程序去解决工作中实际的问题。从今天开始&#xff0c;我们将进入第二模块的学习&#xff0c;此模块…...

es在已有历史数据的文档新增加字段操作

新增字段设置默认值 场景 在已经有大量数据的索引文档上&#xff0c;增加新字段 技术实现 一.更新索引映射 通过PUT请求显式定义新字段类型&#xff0c;确保后续写入的文档能被正确解析 PUT /文档名/_mapping {"properties": {"字段名1": {"type…...

LeetCode 35 搜索插入位置题解

LeetCode 35 搜索插入位置题解 题目描述 题目链接 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置&#xff08;需保证数组仍然有序&#xff09;。要求时间复杂度为 O(log n)。…...

RabbitMQ通信模式(Simplest)Python示例

RabbitMQ通信模式-Python示例 0.RabbitMQ官网通信模式1.Simplest(简单)模式1.1 发送端1.2 接收端 0.RabbitMQ官网通信模式 1.Simplest(简单)模式 1.1 发送端 # -*- coding: utf-8 -*- """ Author: xxx date: 2025/5/19 11:30 Description: Simaple简单模…...

游戏开发实战(一):Python复刻「崩坏星穹铁道」嗷呜嗷呜事务所---源码级解析该小游戏背后的算法与设计模式【纯原创】

文章目录 奇美拉项目游戏规则奇美拉(Chimeras)档案领队成员 结果展示&#xff1a; 奇美拉项目 由于项目工程较大&#xff0c;并且我打算把我的思考过程和实现过程中踩过的坑都分享一下&#xff0c;因此会分3-4篇博文详细讲解本项目。本文首先介绍下游戏规则并给出奇美拉档案。…...

力扣热题100之删除链表的倒数第N个节点

题目 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 代码 方法一 将链表中的值放入列表中&#xff0c;然后删除倒数第n个值&#xff0c;再将剩下的数依次转化为链表 # Definition for singly-linked list. # class ListNode: # …...

OCframework编译Swift

建一个OC的framework&#xff1a; 需要对外暴露的OC文件&#xff0c;需要放到OC的.h文件中 framework中&#xff0c;OC类&#xff0c;调用framework中的Swift类&#xff1a; #import "WowAudioFocus/WowAudioFocus-Swift.h" //02 #import "{工程名}/{工程…...

【AI News | 20250519】每日AI进展

AI Repos 1、deepdrone DeepDrone是一款基于smolagents框架的无人机聊天代理&#xff0c;集成DroneKit实现无人机分析与操作。用户可通过自然语言聊天与无人机助手交互&#xff0c;实现飞行路径和传感器数据可视化、基于飞行时长的维护建议、任务规划以及真实的无人机控制&…...

分布式ID生成系统

代码地址: github mid 简介 分布式 ID 生成系统是一个高性能、可靠的 ID 生成服务,支持两种模式:Snowflake(基于时间戳的内存生成)和 Segment(基于 MySQL 的号段分配)。系统采用双 Buffer 策略优化性能,集成 Prometheus 监控和 Zap 结构化日志,确保高可用性和可观测性…...

MAC常用操作整理

音量方法&#xff1a; 电脑键盘的右上角就有静音和不静音的按钮&#xff0c;还有调节音量的按钮&#xff0c;调节屏幕亮度的按钮 切换输入法方法&#xff1a; 1.大写按键&#xff0c;2.function按键(fn), 3.control 空格键, 选择上一个输入法&#xff0c;4.controloption空格…...

【Canvas与图标】圆角方块蓝星CSS图标

【成图】 120*120的png图标 大小图&#xff1a; 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>圆角方块蓝星CSS Draft1</…...

易境通散货拼柜系统:提高货代企业货物配载效率

在国际物流代理运输领域&#xff0c;货物配载是整个供应链的核心环节&#xff0c;其优化对于提升整个供应链的效率至关重要。传统的配载管理方式往往依赖人工操作&#xff0c;不仅效率低下&#xff0c;还容易出现错误。面对多订单、多货主、多目的地的复杂场景&#xff0c;传统…...

[Spring Boot]整合Java Mail实现Outlook发送邮件

日常开发过程中,我们经常需要使用到邮件发送任务,比方说验证码的发送、日常信息的通知等。日常比较常用的邮件发送方包括:163、QQ等,本文主要讲解Outlook SMTP的开启方式、OutLook STARTTTL的配置、如何通过JavaMail来实现电子邮件的发送等。 Outlook作为微软提供的企业电子…...

【盈达科技】GEO优化实战策略

提升内容在生成式引擎中的可见性&#xff1a;实战策略 随着生成式引擎&#xff08;Generative Engines, GEs&#xff09;的兴起&#xff0c;内容创作者面临着新的挑战和机遇。这些引擎通过整合和总结多源信息来提供精准且个性化的回答&#xff0c;正在迅速取代传统搜索引擎。为…...

HTTP 协议基础

本篇文章会从如下角度介绍 HTTP 协议&#xff1a; 原理与工作机制请求方法与状态码Header 与 Body 1、原理与工作机制 1.1 HTTP 是什么 HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff0c;"超"表示扩展而非超级&#xff0c;即可以链接到其他文本…...

ros运行包,Ubuntu20.04成功运行LIO-SAM

zz:~/lio_sam_ws$ source devel/setup.bash zz:~/lio_sam_ws$ roslaunch lio_sam run.launch 创建包链接&#xff1a; 链接1&#xff1a;Ubuntu20.04成功运行LIO-SAM_ubuntu20.04运行liosam-CSDN博客 链接2&#xff1a;ubuntu 20.04 ROS 编译和运行 lio-sam,并且导出PCD文件…...

Linux《自主Shell命令行解释器》

在上一篇的进程控制当中我们已经了解了进程退出、进程等待以及进程替换的相关概念&#xff0c;那么在了解了这些的概念之后接下来在本篇当中我们就可以结合之前我们学习的知识来实现一个自主的Shell命令行解释器&#xff0c;通过Shell的实现能让我们进一步的理解操作系统当中的…...

设置IDEA打开新项目使用JDK17

由于最近在学习Spring-AI&#xff0c;所以JDK8已经不适用了&#xff0c;但是每次创建新项目都还是JDK8&#xff0c;每次调来调去很麻烦 把Projects和SDKs都调整为JDK17即可 同时&#xff0c;Maven也要做些更改&#xff0c;主要是添加build标签 <build><plugins>&…...

Vue百日学习计划Day36-42天详细计划-Gemini版

总目标: 在 Day 36-42 理解组件化开发的思想&#xff0c;熟练掌握 Vue 组件的注册、Props、Events、v-model、Slots、Provide/Inject 等核心概念和实践&#xff0c;能够构建可复用和易于维护的组件结构。 所需资源: Vue 3 官方文档 (组件基础): https://cn.vuejs.org/guide/es…...

Python对JSON数据操作

在Python中&#xff0c;对JSON数据进行增删改查及加载保存操作&#xff0c;主要通过内置的json模块实现。 一、基础操作 1. 加载JSON数据 • 从文件加载 使用json.load()读取JSON文件并转换为Python对象&#xff08;字典/列表&#xff09;&#xff1a; import json with open…...

upload靶场1-5关

网上的解析有一些题目对应不上&#xff0c;比如第五关说是 空格 点 空格绕过 &#xff0c;我这里就无法成功解析&#xff0c;但大小写绕过就成功了&#xff0c;慢慢会把后面的关卡也写出来 这里建议开一台win7的虚拟机&#xff0c;在上面搭建靶场&#xff0c;可以省很多麻烦 …...

网络传输(ping命令,wget命令,curl命令),端口

网络传输&#xff1a; ping命令&#xff1a;检查指定的网络服务器是否是可联通状态 语法&#xff1a;ping 【-c num】IP或主机名 -c&#xff1a;是检查的次数&#xff0c;不使用-c&#xff0c;将无限次持续检查 wget命令&#xff1a;wget是非交互式的文件下载器&#xff0…...

upload-labs靶场通关详解:第10关

一、分析源代码 $is_upload false; $msg null; if (isset($_POST[submit])) {if (file_exists(UPLOAD_PATH)) {$deny_ext array(".php",".php5",".php4",".php3",".php2",".html",".htm",".ph…...

深入解析`lsof`命令:查看系统中打开文件与进程信息

1、lsof的基本概念 lsof &#xff08;List Open Files&#xff09; 提供了一种方式来查看系统上哪些进程正在访问哪些文件&#xff0c;能够显示文件类型、文件名、文件描述符、所属进程等详细信息。 在类Unix系统中&#xff0c;几乎所有的操作都与文件相关联&#xff0c;文件不…...

C++ 与 Python 内存分配策略对比

内存管理是编程中的一个核心概念&#xff0c;它直接影响程序的性能、稳定性和资源利用率。C 和 Python 作为两种广泛使用的编程语言&#xff0c;在内存分配和管理方面采用了截然不同的策略。 C 内存分配策略 C 赋予程序员对内存的精细控制能力&#xff0c;同时也带来了更大的…...

TB开拓者策略交易信号闪烁根因及解决方法

TB开拓者策略信号闪烁分析 TB开拓者策略交易信号闪烁根因 TB开拓者策略交易信号闪烁根因分析 信号闪烁是交易策略开发中常见的问题&#xff0c;特别是在TB(TradeBlazer)开拓者等平台上。以下是信号闪烁的主要根因分析&#xff1a; 主要根因 未来函数问题 使用了包含未来信息…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(24):受身形

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(24):受身形 1、前言(1)情况说明(2)工程师的信仰2、知识点(1)うけみけい 受身形(2)復習(ふくしゅう):3、单词(1)日语(2)日语片假名单词4、相近词练习5、单词辨析记录6、总结1、前言 (1)情况说明 自己在今…...

牛客网NC209794:使徒袭来

牛客网NC209794:使徒袭来 题目背景 问题分析 数学建模 设三位驾驶员的战斗力分别为 a, b, c已知条件&#xff1a;a b c n (n为输入的正整数)目标&#xff1a;求 a b c 的最小值 解题思路 根据算术-几何平均值不等式(AM-GM不等式)&#xff0c;对于任意正实数a, b, c&a…...

命令行登录 MySQL 报 Segmentation fault 故障解决

问题描述&#xff1a;对 mysql8.0.35 源码进行 make&#xff0c;由于一开始因为yum源问题少安装依赖库 库&#xff0c;在链接时遇到错误 undefined reference to&#xff0c;后来安装了相关依赖库&#xff0c;再次 make 成功。于是将 mysqld 启动&#xff0c;再用 mysql -u roo…...

2025ICPC邀请赛南昌游记

滚榜时候队伍照片放的人家的闹麻了&#xff0c;手机举了半天 。 最后银牌700小几十罚时&#xff0c;rank60多点。 参赛体验还行&#xff0c;队长是福建人&#xff0c;说感觉这个热度是主场作战哈哈哈哈。空调制冷确实不太行吧。 9s过A是啥&#xff0c;没见过&#xff0c;虽然…...

kotlin flow的写法

以下是 Android 开发中 Kotlin Flow 的常见使用模式和操作符的完整中文总结&#xff1a; 1. 基本 Flow 创建方式 // 从多个值创建 val flow1 flowOf(1, 2, 3)// 使用 flow 构建器 val flow2 flow {emit(1)delay(100)emit(2) }// 从集合创建 val flow3 listOf(1, 2, 3).asFl…...

springboot+mybatis或mybatisplus在进行%name%的前后模糊查询时如何放防止sql注入

在使用 Spring Boot 配合 MyBatis 或 MyBatis-Plus 进行数据库操作时&#xff0c;确保防止 SQL 注入是非常重要的。对于 %name% 样式的前后模糊查询&#xff0c;以下是几种有效的方法来防止 SQL 注入&#xff1a; 1. 使用 MyBatis 的 <if> 标签和 #{} 占位符 MyBatis 默…...

基于51单片机教室红外计数灯光控制—可蓝牙控制

基于51单片机智能教室灯光 &#xff08;仿真&#xff0b;程序&#xff0b;原理图&#xff0b;PCB&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 本系统由STC89C52单片机时钟芯片DS1302液晶屏LCD1602光敏电阻红外对管LED灯模块按键模块蓝牙模块构成 具体…...

HTTPS、SSL证书是啥?网站“安全小锁”的入门科普

你有没有发现&#xff0c;浏览网页时&#xff0c;有些网站地址栏前面会出现一个小锁的图标&#x1f512;&#xff0c;而有些网站却没有&#xff1f;这个小锁其实代表着网站用了“HTTPS”&#xff0c;是比普通“HTTP”更安全的协议。今天&#xff0c;我们就来聊聊HTTPS、SSL证书…...

大模型备案中的安全考量:筑牢数字时代的安全防线

在数字化浪潮席卷全球的当下&#xff0c;大模型技术凭借强大的数据分析、模式识别与语言理解生成能力&#xff0c;成为推动产业变革、提升社会运转效率的关键力量。从智能客服降本增效&#xff0c;到医疗影像精准诊断&#xff0c;再到金融风险智能预测&#xff0c;大模型正重塑…...

Linux句柄数过多问题排查

以下是Linux句柄数过多问题的排查与解决方法整理&#xff1a; 一、检测句柄使用情况 1‌.查看系统限制‌ 单个进程限制&#xff1a;ulimit -n 系统级总限制&#xff1a;cat /proc/sys/fs/file-max 2‌.统计进程占用量‌ 查看指定进程&#xff1a;lsof -p <PID> | wc -…...

Python训练第三十天

DAY 30 模块和库的导入 知识点回顾&#xff1a; 导入官方库的三种手段导入自定义库/模块的方式导入库/模块的核心逻辑&#xff1a;找到根目录&#xff08;python解释器的目录和终端的目录不一致&#xff09; 总结&#xff1a;导入包的核心就是找到目录&#xff0c;只有理解了py…...

Java资源管理与防止泄漏:从SeaTunnel源码看资源释放

资源管理是 Java 开发中常被忽视却至关重要的一环。本文从 SeaTunnel 案例出发&#xff0c;探讨 Java 中如何正确管理资源&#xff0c;防止资源泄漏。 SeaTunnel 中的一次修复 Apache SeaTunnel 项目中的 HiveSink 组件曾存在一个典型的资源泄漏隐患。修复前后的代码对比如下…...

Notepad++ 学习(三)使用python插件编写脚本:实现跳转指定标签页(自主研发)

目录 一、先看成果二、安装Python Script插件三、配置Python脚本四、使用脚本跳转标签页方法一&#xff1a;通过菜单运行方法二&#xff1a;设置快捷键&#xff08;推荐&#xff09; 五、注意事项六、进阶使用 官网地址&#xff1a; https://notepad-plus-plus.org/Python Scri…...

PYTHON训练营DAY30

库的导入 一、导入整个 import 库 二、从库中导入特征项 from 库 import XXX 三、非标准导入&#xff1a;导入整个库 from 库 import * 四、导入自定义的库 &#xff08;一&#xff09;项目 创建一个打招呼的库 # greet.py def say_hello(name):return f"你好&a…...

Linux 文件(2)

文章目录 1. 文件描述符1.1 文件描述符是什么1.2 文件描述符如何分配 2 重定向2.1 输出重定向2.2 输入重定向2.3 使用dup2进行重定向 3. 文件、父子进程和进程替换 1. 文件描述符 1.1 文件描述符是什么 什么是文件描述符呢&#xff1f; 我们先来看之前所介绍的系统级别的文件…...

netcore项目使用winforms与blazor结合来开发如何按F12,可以调出chrome devtool工具辅助开发

就是像在开发网页那样&#xff0c;可以使用devtool工具辅助开发。可查看页面css&#xff0c;js等。我在网上看解决办法。没一个有用的。自己找了一个。不需要单独在页面写多余的代码 我的program.cs中有服务注册代码增加 3行代码。 #if DEBUGservices.AddBlazorWebViewDevelo…...