刷新
剑指offer-35、数组中的逆序对

博主头像 题⽬描述 在数组中的两个数字,如果前⾯⼀个数字⼤于后⾯的数字,则这两个数字组成⼀个逆序对。输⼊⼀个数组,求出这个数组中的逆序对的总数。 输⼊⼀个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 示例 1: 输⼊: [7,5,6,4] ...

剑指offer-34、第⼀次出现的字符

博主头像 题目描述 在⼀个字符串( 0<=字符串⻓度<=10000 ,全部由字⺟组成)中找到第⼀个只出现⼀次的字符,并返回它的位置, 如果没有则返回 -1 (需要区分⼤⼩写).(从 0 开始计数) 示例1 输⼊:"google" 返回:4 思路及解答 暴力遍历(不推荐) 通过双重循环检查每个字符是否只出现一次 ...

Jenkins Share Library教程 —— 开发入门

博主头像 写在前面 今日心情有点小丧,但总体问题不大,有一些突然来的活,还没整完,明天再继续搞把。 有难度吗? 有一些把,我觉得还是要做一些自己不擅长的工作,才会有成长的吧,为什么? 用我们测试同学的话术,就是提升“自己”的“测试覆盖率”,即解决问题的能力,核心就是会了就是赚了! 学习目标 通过本教程,你将学 ...

Spring 事务、循环依赖连环问

博主头像 Spring 事务 详情请查看:Spring 事务 Spring 事务实现方式有哪些? 事务就是一系列的操作原子执行。Spring事务机制主要包括声明式事务和编程式事务。 编程式事务:通过编程的方式管理事务,这种方式带来了很大的灵活性,但很难维护。 声明式事务:将事务管理代码从业务方法中分离出来,通 ...

为什么不该用 Double 表示金额及解决方案

博主头像 众所周知,double 和 float 这些浮点数其实是不精确的。 比如 0.1 + 0.2 并不等于 0.3,而是等于 0.30000000000000004——这也一度成为程序员圈子里的经典梗。所以用浮点数表示金额这种需要精确计算的数值,是会出现精度丢失问题的。 double a = 0.1; ...

Spring AOP、MVC高频面试题解析

博主头像 什么是AOP? 面向切面编程,作为面向对象的一种补充,将公共逻辑(事务管理、日志、缓存等)封装成切面,跟业务代码进行分离,可以减少系统的重复代码和降低模块之间的耦合度。切面就是那些与业务无关,但所有业务模块都会调用的公共逻辑。 面向切面编程和面向对象编程的区别,两者有冲突吗? 面向切面编程(AOP) ...

从零开始学Flink:数据输出的终极指南

博主头像 本文详细介绍了Flink数据输出(Sink)的核心概念、各种连接器的使用方法、配置选项及可靠性保证机制。基于Flink 1.20.1的DataStream API,通过丰富的代码示例展示了如何将处理后的数据输出到Kafka、Elasticsearch、文件系统等不同目标,并构建了一个完整的实时数据处... ...

Java并发编程(5)

博主头像 线程池 1、什么是线程池? 管理线程,避免增加创建线程和销毁线程的资源消耗:线程也是一个对象,创建一个对象要类加载,销毁一个对象要走GC垃圾回收流程,都是有资源开销的。 提高响应速度:对比普通的做法,是重新创建一个线程执行,要慢很多。 重复利用:线程用完再放回池子,可以达到重复利用的效果,节省资源。 ...

10. Spring AI + RAG

博主头像 10. Spring AI + RAG @目录10. Spring AI + RAGRAG概念向量:文本向量化向量数据库匹配检索SearchRequest接入ChatClientRetrievalAugmentationAdvisor最后: RAG 检索增强生成(Retrieval-augmente ...

浅谈ThreadLocal----每个线程一个小书包

博主头像 ThreadLocal是什么?thread是线程,local是本地的意思字面意思是线程本地。其实更通俗的理解是给每个线程设置一个缓存。这个缓存用来存储当前线程在未来的业务逻辑中需要执行到的变量。我们先来看怎么用: 首先创建全局变量ThreadLocal,各自启动一个线程任务:线程任务将变量设置到缓存 ...

7. Spring AI 对话记忆 + 结构化输出

博主头像 7. Spring AI 对话记忆 + 结构化输出 @目录7. Spring AI 对话记忆 + 结构化输出对话记忆PromptChatMemoryAdvisor配置聊天记录最大存储数量配置多用户隔离记忆原理源码$数据库存储对话记忆Redis存储多层次记忆架构 痛点结构化输出基础类型:Pojo类型: ...

Spring篇知识点(4)

博主头像 MVC 一、Spring MVC的工作流程 客户端向服务端发送一次请求,这个请求会先到前端控制器DispacherServlet DispacherServlet接收到请求后会调用HandlerMapping处理器映射器——该请求由哪个Controller来处理 DispacherServlet调用 ...

JUC: 线程锁

博主头像 1 面试题复盘 如何理解多线程,如何处理并发,线程池有哪些核心参数? Java加锁有哪几种锁? synchronized原理是什么?为什么可重入?如何获取对象的锁? JVM对原生锁做了哪些优化? 什么是锁清除和锁粗化? 乐观锁是什么?synchronized与乐观锁什么区别? volatile有什么 ...

Spring知识点(2)

博主头像 一、有哪些依赖注入方式? 构造方法注入:通过调用类的构造方法,推荐用于强依赖(没有依赖对象就没法工作)。这也是官方推荐的注入方式。好处:依赖不可变(final修饰)、更安全。 @Component public class UserService { private final UserDao us ...

Spring Boot接入邮箱,完成邮箱验证码

博主头像 先知 邮箱的一些基本概念: 发送邮件 STMP协议: Simple Mail Transfer Protocol ,简单邮箱传输协议,用于发送邮件的协议。 基于TCP,保证可靠性,但不安全,是明文传输 Spring Boot默认也是基于此协议进行发送邮件 接收邮件 POP3协议: Post Offi ...

Java中实现html转pdf

博主头像 目录1、背景2、需求3、思路4、实现步骤4.1 搭建一个简单的工程4.1.1 引入依赖4.1.2 编写Freemarker工具类4.1.3 编写pdf工具类4.1.4 增加一个模板4.1.5 增加一个控制层4.1.6 运行4.2 功能完善4.2.1 生成的pdf需要支持中文4.2.1.1 程序中引入 ...

<123···69>