刷新
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接入邮箱,完成邮箱验证码

博主头像 原文出处:[https://www.huaguoniang.top/archives/spring-boot-mail] 先知 邮箱的一些基本概念: 发送邮件 STMP协议: Simple Mail Transfer Protocol ,简单邮箱传输协议,用于发送邮件的协议。 基于TCP,保证可靠性 ...

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 程序中引入 ...

全球知名的Java Web开发平台Vaadin上线慧都网!

博主头像 近日,慧都科技正式与国际知名的企业级Java Web开发平台供应商Vaadin达成合作伙伴关系。双方的合作,不仅补强了慧都在前端与应用开发领域的能力,更标志着慧都在软件工程数字化方案版图上的进一步扩展与深化,也为中国企业构建现代化应用开发注入了新动能。 ...

Java 日志管理的黄金组合: SLF4J+Logback

博主头像 slf4j 的前世今生 Log4J、Log4J2和LogBack的历史故事 使用过Log4J和LogBack的同学肯定能发现,这两个框架的设计理念极为相似,使用方法也如出一辙。其实这个两个框架的作者都是一个人,Ceki Gülcü,俄罗斯程序员。 Log4J 最初是基于Java开发的日志框架,发展一 ...

【LeetCode】121. 买卖股票的最佳时机

博主头像 121. 买卖股票的最佳时机 题目 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润 ...

剑指offer-33、丑数

博主头像 题⽬描述 把只包含质因⼦ 2 、 3 和 5 的数称作丑数( Ugly Number )。例如 6 、 8 都是丑数,但 14 不是,因为它包含质因⼦ 7 。 习惯上我们把 1 当做是第⼀个丑数。求按从⼩到⼤的顺序的第 N 个丑数。 如果 n = 9 , 返回 10 。注意事项:我们可以认为 1 也 ...

内部类

什么是内部类 内部类是一个定义在另一个类内部的类。 内部类可分为四种: 1. 成员内部类: 定义在另一个类内部,且没有使用static修饰,且可以访问外部类所有的成员。要创建内部类的实例必须先存在外部类的实例。 public class Outer { String name; class Inne ...

靠谱的程序员推荐阅读----->《阿里Java开发手册》【强制】所有的覆写方法,必须加@Override注解

博主头像 《阿里巴巴Java开发手册》编程规约->OOP规约 其中有一条,强制要求所有覆写方法添加 @Override 注解。 这是一项非常重要的编码规范。它主要有以下几个核心目的和好处: 1. 编译时检查覆写是否正确 @Override 注解会让编译器检查该方法是否确实成功覆写了父类(或接口)中的方法 ...

剑指offer-32、把数组排成最⼩的数

博主头像 题⽬描述 输⼊⼀个正整数数组,把数组⾥所有数字拼接起来排成⼀个数,打印能拼接出的所有数字中最⼩的⼀个。例如输⼊数组 {3,32,321} ,则打印出这三个数字能排成的最⼩数字为 321323 。 示例1 输⼊:[3,32,321] 返回值:"321323" 思路及解答 自定义排序(推荐解法) 这道题 ...

<1···101112···50>