- 博客(1534)
- 资源 (2)
- 收藏
- 关注
原创 使用maven-helper插件解决jar包冲突案例3【经典版】
首先,解决idea中jar包冲突,使用maven的插件:maven helper插件,它能够给我们罗列出来同一个jar包的不同版本,以及他们的来源,但是对不同jar包中同名的类没有办法。
2024-01-30 23:40:50
8404
原创 设计模式 2 代理模式-静态或者动态
以房东,中介,买卖房子为例子,说明什么是代理,说白就是房东卖房子因为一些利益,或者怕麻烦,没有经商头脑等各种原因,不能和客户直接进行接触买卖房子,这时候需要中介代理其进行卖房子。......
2022-07-17 18:52:34
587
原创 linux实战项目经验得到的常用linux命令(-)
一.Linux系统的概述1.1 linux系统概述Unix是一个强大的多用户、多任务操作系统。1.2 linux的目录结构root管理员的home目录是root,其他用户的home目录是在home目录下1.3 linux的学习地址以下基本知识点是用来学习工作。https://www.orchome.com/100大神的学习文章二 .使用最频繁最高常用命令2.1 查看tomcat的进程号和端口号1.获得进程号ps -ef|grep tomcat...
2021-07-03 07:58:41
687
2
原创 个人能力与目标-顶级程序员
顶级程序员:1.基础知识要扎实,各种算法,数学功底,各种底层原理要通。2.业务项目要出彩,要搞出牛逼的作品来,开源项目源码要阅读,不断学习新知识。3.各种软件技能要有,沟通能力,做ppt演讲的能力,英文能力,写作能力,总结归纳能力。代写java系统,网站,大数据分析挖掘,nlp自然语言处理....都看到这里了,就顺手点击左上角的【关注】按钮,点击右上角的小手,给个评论,关注一下...
2017-05-18 11:06:50
1225
2
原创 dify中使用配置大模型
1)点击下载按钮,获取安装程序。2)双击安装文件,点击「Install」开始安装。,并不会让用户自定义选择安装路径。5)模型存储位置配置3.安装位置4.安装完成后,会在电脑右下角出现Ollama图标!
2026-05-17 16:48:15
56
原创 spring中事务失败的几种场景【经典】
同类内部直接调用(this. 方法 ()) → 不是代理调用 → 事务直接失效。只要是同一个类内部方法调用(自调用),不管谁调谁,被调用方的 @Transactional 永远失效!若果同一个类中A方法有事务,B方法有事务,A调用B方法,则B事务失效,b隶属于A方法的事务。java中同一个类中A方法没有事务,B方法有事务,A调用B方法,则B方法事务失效;原因:A 没有事务,A 内部直接调用 B → 用的是。:无论 A 有没有事务,调用同类的 B(带事务)→。A 有事务,所以A 会开启事务。
2026-05-06 09:38:38
183
原创 mysql中不同时间类型(date/datetime/timestamp)的查询案例
1)字段是date类型,放心用between....and2)字段时datetime/timestamp,统一用:>=开始日期 and < 结束日期+1 天。
2026-04-25 17:52:57
371
原创 mysql中left join 不一定比 in效率高案例
常规来说,left join语法 要比 写 in 效率高,查询快,但是万事有特殊情况,如下sql:DESCDESCusing index 为何第一个执行是这个,而第二个是using where;LooseScan第二个比第一个高效呢?
2026-04-25 17:06:18
76
原创 linux服务器使用top命令真实案例分析&堆内存大,高负载【经典】
G1 的 Full GC 是全程 STW、多线程并行执行,无任何并发阶段(不和业务线程同时跑)。现代 Java 默认 Full GC 是多线程并行一起执行,GC 线程之间不用等待,全员同时工作吃满 CPU。你遇到的一定是:并行多线程 Full GC1、堆设置超大 → 存活对象极多、可垃圾极少;2、触发 STW Full GC 瞬间,JVM 拉起 8/16/32 个 GC 工作线程;3、A、B、C等 所有 GC 线程全员并行干活,不互相等待;
2026-04-25 16:37:22
414
原创 使用tsf分析服务器的内存使用情况【经典版】
tsf显示的内存概述tsf显示的堆内存中,显示:max,used,committed 等指标的含义如下:max:JVM 最多能用到多少内存(上限)committed:操作系统已经分配给 JVM 的内存(已到手)used:当前实际正在使用的内存(已消耗)三者之间的关系:used ≤ committed ≤ max例子如下:used(当前堆)= 1209.43MB ≈ 1.2GB:你应用真正在用的内存,非常低,完全够用。
2026-04-25 10:50:27
434
原创 java中事务即可触发回滚&又能返回成败信息案例
既要保证数据库操作的原子性(失败时回滚),又要给调用方返回结构化的结果(如 Map<Boolean, Integer>)。你需要将“带事务的数据库操作”和“结果封装与返回”拆成两个方法。核心思路:1写一个private的、2在public的主方法中,这样,事务的边界清晰,既能回滚,又能返回结构化结果。
2026-03-15 11:44:04
267
原创 java中事务@Transaction的正确使用和触发回滚机制【经典】
Spring 的声明式事务(@Transactional)是通过AOP代理实现的。它的回滚机制依赖于方。
2026-03-15 11:19:45
254
原创 java中乐观锁+事务在批量导入,批量审批案例的使用
我们将模拟一个“批量调整库存”的场景。多个线程(或请求)可能同时尝试修改同一批商品的库存。本案例这是一个这个方案更简洁、更直接。当并发修改导致版本冲突时,它会立即抛出异常,由上层调用者(如 Controller)决定如何处理(例如:返回错误信息给前端,让用户手动重试)。
2026-03-15 10:37:29
85
原创 AI之Toolcalling的使用案例(langchain4j+springboot)
Service让 Spring 管理该 Bean,便于注入。@Service// 模拟真实逻辑(可替换为 HTTP 调用天气 API)它会在运行时动态生成该接口的实现类(通过代理或字节码生成),并自动处理与 LLM 的交互、工具调用、结果解析等复杂逻辑。这种模式类似于:Spring Data JPA:UserRepository extends JpaRepository → 无需实现。
2026-02-20 07:40:11
898
原创 java中策略模式的使用
1.方式1:通过构造函数注入策略(不可变策略)2.方式2:通过 setter 动态设置策略(可变策略)不允许变→ 构造函数注入,每次换策略就 new 一个 Context(合理且清晰)。允许变→ 提供 setter,复用同一个 Context。这两种都是策略模式的合法且常用实现方式,没有绝对对错,只有适合场景与否@Override@Override。
2026-01-31 08:38:08
398
原创 springboot+sse的实现案例
SSE(Server-Sent Events,服务器发送事件)是一种的技术,属于 HTML5 标准的一部分。它允许服务器主动向客户端发送数据流,适用于的场景(如新闻推送、实时监控、日志流展示等)。1和websocket对比。
2025-12-21 12:12:53
570
原创 gitflow的实战操作案例【经典实操】
Git reset: 像是一本书1-7页的书,不要第7页,就像删除第7页,回到第6页。让某段提交的历史消失。Git revet:想是一本书1-7页的书,新增一页第8页记录回滚到了第7页;它不会改写历史。总结:当你想要安全撤销一个已经推送到公共仓库的提交时,这是团队首选方案。他的优势:通过添加新的历史来修正错误,不会破坏其他协作者本地的仓库历史,他们只需要像往常一样 git pull就能同步你的修正。对私有分支用reset,对公共历史用revert。
2025-11-23 20:41:40
936
原创 mysql数据库的sql优化以及explain周期字段详解案例【爽文】
1.Where子句中的部分列没有索引:虽然使用了索引,但索引只覆盖了部分查询条件,例如,有一个索引(a, b),但查询条件是WHERE a = 1 AND c = 2。2.核心警报:当type=all时,如果extra出现 using filesort或 using temporary,查询几乎是性能瓶颈,必须优化。但查10天数据:type=ALL,全表扫描,索引失效。File的解释:如果排序的数据量小,会在内存中完成,如果数量量大,会使用磁盘临时文件,但无论如何,这都是一个cpu和io密集型的操作。
2025-11-02 12:54:21
729
原创 AI之智能体agent与dify的搭建
阶段3:real智能体智能体根据人类设定的目标,自主进行任务拆分,工具选择,进度控制,实现目标后自主结束工作。
2025-10-26 20:50:54
796
原创 java开发手册与规范
2.在定义常量时,常量名全部大写且单词之间用下划线隔开,如MAX_COUNT。如 userservice/UserDO;1.类名使用驼峰风格,
2025-10-25 22:35:33
281
原创 java基础知识23 java的字符串为null&拼接空串(“”)内存布局
/ 栈中有变量,指向常量池中的"hello"String s2 = "";// 栈中有变量,指向常量池中的""String s4 = new String();// 栈中有变量,指向堆中的新对象。// 栈中有变量,不指向任何对象。3.在java中,null不是对象,不占用对象内存。4.null表示"无对象",它本身不是对象,// 情况4:new 创建对象。// 情况1:null 赋值。// 情况2:空字符串。// 情况3:字符串字面量。
2025-10-19 13:26:55
268
原创 2025版spring security认证授权详解篇【经典】
目录一 springsecurity 认证授权1.1 总流程1.2 关键代码详解1.3 资料二 详解流程2.1 WebSecurityConfig中config方法的执行顺序2.2.1 完整的执行流程2.2.2 完整的代码2.3 认证流程顺序2.4 授权流程顺序2.5 SecurityContextHolder2.5.1 securityContextHolder的写入2.5.2 securityContextHolder的获取2.5.3 线程安全与请求清理*2.5.4 总结2.6 完整流程的详解1.阶
2025-10-12 10:29:42
1096
原创 Spring中成员变量(普通与@autoworied注入)的安全性
目录一 spring中的成员变量1.1 @Autowired修饰成员变量1.2 @Autowired修饰成员变量与普通成员变量1.2.1 案例普通成员变量与@autowire成员变量编辑1.3 @Autowired修饰成员变量为何安全*1.3.1 原因1:单例1.3.2 原因2:无状态1.3.3 总结1.4 springbean的作用域1.5 spring对象依赖注入方式1.6 spring对象单例实例能被安全共享1.7 spring对象单例实例能被安全共享1.8 spring保证线程安全的策略1.9 @
2025-10-09 15:51:38
718
原创 AI 大模型之spring alibaba篇
Server-Sent Events (SSE) 是一种允许服务端可以持续推送数据片段(如逐词或逐句)到前端的 Web 技术。通过单向的HTTP长连接,使用一个长期存在的连接,让服务器可以主动将数据"推"给客户端,SSE是轻量级的单向通信协议,适合AI对话这类服务端主导的场景客户端发起一个请求,服务器保持这个连接打开并在有新数据时,通过这个连接将数据发送给客户端。这与传统的请求-响应模式(客户端请求一次,服务器响应一次,连接关闭)有本质区别。SSE下一代(Stream able Http)。
2025-10-05 21:26:15
621
原创 junit4中通过autowired注入和构造器注入混合模式下单测
再次测试: 构造器注入的objectmapper和autowired注入的userservice 均不为null。存在的问题:发现通过autowired注入的userservice为null。controller类中使用构造器和autowired两种注入方式。在setup方法中,增加一行初始化。
2025-09-30 23:45:39
289
原创 git的merge与rebase的区别与操作
注意:提交 A', B', C' 是全新的提交,虽然内容与 A, B, C 相同,但哈希值已经改变。它把一条发展线(特性分支)上的所有修改“抽取”出来,将 feature 分支上自从祖先 E 之后的所有提交(A, B, C)“暂时取消”。把 feature 分支的起点更新到 main 分支的最新提交 G 上。它找到 feature 分支和 main 分支的共同祖先(E)。将刚刚取消的提交(A, B, C)按顺序重新应用到 G 之后。它会找到两个分支的共同祖先(commit E)。它忠实地保留了历史的原貌。
2025-09-29 20:10:14
522
原创 spring事务传播级别的实操案例2
在一个方法中,先修改数据库,然后使用http请求远程dify服务,出现数据不一致的问题。如下图2.请求方法后:本地修改数据库成功,dify调用失败;数据库中名称有xx-222改成了xx-333;怎么办?数据不一致,dify服务没有修改成功,而本地数据库修改成功了,正常要同生共死,一起成功,一起失败的。
2025-09-28 20:35:16
408
原创 spring的依赖注入的3种方式(字段、构造函数、setter方法)
这是 Spring Boot 团队和现代 Spring 实践中最推荐的方式。当你的类只有一个构造方法时,从。:在单元测试中,你必须使用反射来注入 Mock 对象,或者启动整个 Spring 容器。Spring Boot 充分利用了这一特性,使得代码非常简洁。关键字),保证完全初始化的对象,代码意图清晰,易于单元测试。:灵活性高,可以在对象创建后重新设置依赖(虽然很少这么做)。:类需要哪些依赖不明确,违反了明确依赖原则。注解直接标注在字段上,通过反射机制注入。:通过 Setter 方法注入依赖。
2025-09-25 20:11:42
517
原创 langchain4j笔记篇(阳哥)
1.阿里百炼平台的通义模型: https://bailian.console.aliyun.com/1.apikey不可设置明文,设置环境变量。langchain4j的目标是简化将。LLM集成到java应用程序中的过程。4.获取baseurl开发地址。
2025-09-08 18:54:07
305
原创 springboot整合minio实现上传下载&搭建minio
1.下载地址2.在本地新建一个目录存储minio,然后在目录下新建bin,data,log这3个子文件夹如图:2.将下载的minio.exe放到bin目录下3.进入bin目录,进行启动ljf-888Setx执行结果如下:4.进行访问。
2025-08-31 18:58:10
362
原创 elasticsearch 7.x elasticsearch 使用scroll滚动查询中超时问题案例
第一次resttemplat.search 查询出一批快照数据放到上下文,然后进行逻辑A,逻辑B,逻辑C的处理,如果A+B+C=7s,7s大于5s,此时scrollid就会失效;设定的超时时间(例如,每 4 分钟请求一次,超时设为 5 分钟),你就可以一直继续下去,无论总数据量有多大、总耗时多长。执行scroll查询后,将scroll查询信息放到上下文存活的时间,而不是执行scroll查询es数据的时间。2.如果你的间隔超过了超时时间(例如,两次请求间隔了 6 分钟,而超时是 5 分钟),
2025-08-24 12:59:06
745
原创 elasticsearch 7.x elasticsearch是查询的数据量大于10000分页有问题还是es的库总量大于10000分页有?
2.问题出在单次查询请求想要跳过的文档数量(from)加上要获取的数量(size)超过了 index.max_result_window(默认10000)。即使你的整个索引只有 11000 条数据,你也无法用 from=10000&size=10 来获取最后 10 条。1.Elasticsearch 分页问题主要出现。
2025-08-24 12:26:42
385
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅