- 博客(637)
- 资源 (2)
- 收藏
- 关注

原创 Spring Boot 配置Druid监控以及基本特征监测使用
Druid Spring Boot Starter 用于帮助你在Spring Boot项目中轻松集成Druid数据库连接池和监控。参考:https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%981、引入依赖<dependency> <groupId>com.a...
2019-07-11 16:29:58
311
1

原创 ThreadLocal全局获取用户信息
场景需求 : 虽然在登录之后,前端可以获取到我所返回的jwt,然后通过它保持登录状态和获取信息。然后在调用接口的时候将信息传递给我进行各种操作。但是种种原因问题,我需要很简便地在执行操作的过程中,在任何一个方法中都能获取到当前用户的一些基本信息。而不纯粹依赖前端传值。因为并非所有方法都可以拿到jwt,如果没有请求头作为参数的话。我设想了一种简便的实现方式,就是在请求通过jwtFilter的...
2019-07-11 15:07:29
4516

原创 人脸裁剪
java调用opencv进行人脸裁剪,发现上传8m左右的人脸图片,每进行一次人脸图片裁剪大约消耗5-6g的内存,导致程序很容易崩溃。以下是优化后的代码。 并且在启动的时候指定内存nohup java -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -Xms8192m -Xmx8192m -Xmn3072m -jar /dit/managem...
2019-06-20 18:19:39
749

原创 OpenCV 4.1.0 安装 (基于CentOS 7.6)
OpenCV 4已经发布一段时间,笔者于CentOS 7.6尝试安装成功,并分享给网友。安装依赖yum install gcc gcc-c++yum install cmake3yum install gtk2-develyum install ant下载OpenCV源码链接:https://pan.baidu.com/s/1KvamVkoqOmv3G_I5vATWz...
2019-06-10 10:58:14
3104

原创 OpenCV+JAVA实现人脸裁剪
1、安装opencv4.102、把安装目录下的 jar和dll文件复制到工程文件夹下的lib下面D:\opencv\opencv\build\javaD:\opencv\opencv\build\java\x643、把D:\opencv\opencv\sources\data\haarcascades文件夹下的haarcascade_frontalface_alt.xml复制到...
2019-05-31 15:56:08
1938

原创 DDOS防护
iptables防护#打开转发sysctl -w net.ipv4.ip_forward=1 &>/dev/null#打开 syncookie (轻量级预防 DOS攻击)sysctl -w net.ipv4.tcp_syncookies=1 &>/dev/null#设置默认 TCP 连接最大时长为 3800 秒(此选项可以大大降低连接数)sys...
2019-04-23 11:31:06
403

原创 JVM1.8堆内存
1、堆是JVM内存占用最大,管理最复杂的一个区域。其唯一的用途就是存放对象实例:几乎所有的对象实例及数组都在对上进行分配。(jvm栈一般分配的是8大基本类型和引用类型。但是编译器会做逃逸分析,如果一个局部对象不会被方法体以外的代码引用,那么分配内存空间的时候就直接栈上分配了,这样可以节约GC的性能。)1.7后,字符串常量池从永久代中剥离出来,存放在堆中。堆有自己进一步的内存分块划分,按照GC分代...
2019-04-16 14:21:25
812

原创 JVM之jstat命令
jstat -gc PID 垃圾回收统计jstat -gc 4744结果S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT 8704.0 14336.0 8...
2019-04-11 14:01:22
823
1

原创 JVM1.8相关
1.JVM1.8在新版本的改进更新 1.1对比: JDK 1.7 及以往的 JDK 版本中,Java类信息、常量池、静态变量都存储在 Perm(永久代)里。类的元数据和静态变量在类加载的时候分配到 Perm,当类被卸载的时候垃圾收集器从 Perm 处理掉类的元数据和静态变量。当然常量池的东西也会在 Perm 垃圾收集的时候进行处理。 JDK 1.8 的对 JVM 架构的...
2019-04-11 11:26:32
682

原创 Springboot-dubbo-fescar 阿里分布式事务
大家可以自行百度下阿里分布式事务,在这里我就不啰嗦了。下面是阿里分布式事务开源框架的一些资料,本文是springboot+dubbo+fescar的集成。快速开始https://github.com/alibaba/fescar/wiki/Quick-StartGIT地址https://github.com/alibaba/fescar1、sqlCREATE TABLE ...
2019-01-30 18:07:57
2261
2

原创 SpringCloud 使用consul作为微服务注册中心
eureka宣布闭源,使用consul作为服务注册中心。1、parent pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i...
2018-12-22 16:49:55
766

原创 Java多线程Callable接口
Callable和Future出现的原因创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后...
2018-12-19 10:27:52
8297

原创 Java的clone():深复制与浅复制
Java中要想自定义类的对象可以被复制,自定义类就必须实现Cloneable中的clone()方法,如下: public class Student implements Cloneable { private String name; private int age; private Professor ...
2018-12-18 12:42:24
205

转载 让你彻底明白JAVA中堆与栈的区别
原文地址:http://www.2cto.com/kf/201302/190704.html简单的说: Java把内存划分成两种:一种是栈内存,一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另...
2018-12-18 12:10:15
206

原创 Java并发编程:volatile关键字解析
Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 ...
2018-12-11 11:13:19
214
1

原创 基于Centos7和CDH5.14.2 安装HAWQ2.3.0
1、环境Centos72、大数据组件CDH5.14.2,确保安装了HDFS和YARN(YARN可以不装)3、jdk1.8 4、HAWQ2.3.0安装方式RPM安装5、HAWQ 下载地址 (如何安装cdh可以查看我的博客或简书 https://www.jianshu.com/u/63848eb4cd0a)http://apache.org/dyn/closer.cgi/in...
2018-08-31 09:16:55
1587
1

原创 使用jdbc连接ES6.3
ES6.3自带了sql查询,但是官网上的JDBC连接es6.3文档写的很马虎,本人实现后以作记录,首先安装官网安装ES6.3.安装后先建立indexPUT /library/book/_bulk?refresh{"index":{"_id": "Leviathan Wakes"}}{"name": "Leviathan Wakes", "author": "James S.A
2018-06-16 23:11:14
3603
原创 netty-scoket.io路径配置
9、设置路径 nginx代理 根据官方文档配置不可行。2、没有nginx代理时客户端代码。7、没有nginx 代理,前端代码。4、nginx代理后,代理配置。6、变更路径 ,服务段代码。
2025-09-09 17:32:28
261
原创 spring Boot启动类误用ApplicationListener导致MQTT连接异常的问题
若在启动时重复注册MQTT客户端,会导致ClientID冲突(即使使用随机ID也可能因并发问题重复)1。某些Spring Web依赖可能干扰MQTT连接池的初始化,需检查是否存在版本冲突或冗余依赖1。的执行时机可能早于MQTT配置加载完成,导致连接参数未生效3。现象:出现以下报错日志。
2025-08-13 18:05:54
177
原创 spring-ai-alibaba动态 Prompt 最佳实践
Spring AI Alibaba 使用 Nacos 的配置中心能力来动态管理 AI 应用的 Prompt。以此来实现动态更新 Prompt 的功能。
2025-07-30 09:31:21
464
原创 使用 Spring AI Alibaba MCP 结合 Nacos 实现企业级智能体应用
1、Spring AI Alibaba MCP 结合 Nacos 服务注册中心,为企业级智能体应用提供了强大的基础架构支持。这一组合解决方案主要围绕三条核心技术线展开,实现了从服务注册、工具代理到服务发现的完整闭环,为企业级 AI 应用部署提供了坚实基础。2、
2025-07-29 16:49:26
634
原创 EasyExcel导出多张图片(URL图片)的数据(图片放到一个单元格)
2、ExcelUrlConverterUtil 图片工具,在拦截器中会根据这个查询对应的图片类进行解析操作。3、CustomImageModifyHandler 拦截器,拦截有图片的数据进行压缩,缩略,插入单元格。4、controller测试代码。1、需要导出的数据类。
2025-07-23 10:29:57
364
原创 spring-ai之工具调用(Tool Calling)
工具调用(Tool Calling)”或“函数调用”允许大型语言模型(LLM)在必要时调用一个或多个可用的工具,这些工具通常由开发者定义。工具可以是任何东西:网页搜索、对外部 API 的调用,或特定代码的执行等。LLM 本身不能实际调用工具;相反,它们会在响应中表达调用特定工具的意图(而不是以纯文本回应)。然后,应用程序应该执行这个工具,并报告工具执行的结果给模型。当 LLM 可以访问工具时,它可以在合适的情况下决定调用其中一个工具,这是一个非常强大的功能。方法工具和函数工具。
2025-07-16 17:46:32
854
原创 spring-ai-alibaba官方 Playground 示例之联网搜索代码解析2
1.1 查询重写:QueryTransformer 查询改写:因为用户的输入通常是片面的,关键信息较少, 不便于大模型理解和回答问题。1.2 扩充问题:MultiQueryExpander 查询扩展:将用户 query 扩展为多个语义不同的变体以获得不同视角,有助于检索额外的上下文信息并增加找到相关结果的机会。1、Pre-Retrieval 增强和转换用户输入,使其更有效地执行检索任务,解决格式不正确的查询、query 语义不清晰、或不受支持的语言等。实例化查询重写和查询扩展。
2025-07-15 11:05:38
326
原创 spring-ai-alibaba之Rag 增强问答质量
1、RAG(Retrieval-Augmented Generation,检索增强生成) ,该技术通过从外部知识库中检索相关信息,并将其作为提示(Prompt)输入给大型语言模型(LLMs),以增强模型处理知识密集型任务的能力2、RAG 模块化案例RAG 可以由一组模块化组件构成 《Rag 模块化》,结构化的工作流程保障 AI 模型生成质量。
2025-07-15 09:49:03
656
原创 spring-ai-alibaba官方 Playground 示例之联网搜索代码解析
1、联网搜索controller。3、查询重写和联网搜索提示模板。5、实例化查询重写和多查询扩展。
2025-07-14 17:33:51
275
原创 基于 Dify 工作流生成 SAA 工程
开发者只需编写或从dify等平台导出一段 YAML/JSON DSL,就能一键生成包含文档抽取、HTTP 调用、RAG 检索、LLM 推理等节点的 Spring Boot + Spring AI Alibaba Graph项目。在启动 Graph Studio 后,当前可以调用如下 HTTP 请求生成,该请求将自动生成 Spring AI Alibaba 工程的 zip 包。模块,提供从自定义 DSL → Java 源码 → 可运行。模块,快速生成 Spring AI Alibaba 工程。
2025-07-10 11:33:21
366
1
原创 Spring AI Alibaba Graph使用案例多节点并行执行
1、pom.xml这里使用 1.0.0.3-SNAPSHOT。2、configOverAllState 中存储的字段expander_number:扩展的数量expander_content:扩展的内容translate_language:翻译的目标语言translate_content:翻译的内容collector_next_node:CollectorNode的下一个节点名expand_status:扩展节点执行状态translate_status: 翻译节点执行状态。
2025-07-09 14:48:24
517
原创 Spring AI Alibaba Graph使用案例人类反馈
1、Spring AI Alibaba Graph 是社区核心实现之一,也是整个框架在设计理念上区别于 Spring AI 只做底层原子抽象的地方,Spring AI Alibaba 期望帮助开发者更容易的构建智能体应用。基于 Graph 开发者可以构建工作流、多智能体应用。
2025-07-08 11:24:38
782
原创 spring-ai-alibaba官方 Playground 示例
示例使用 Spring AI Alibaba 开发,可以体验聊天机器人、多轮对话、图片生成、多模态、工具调用、MCP集成、RAG知识库等所有框架核心能力。阿里云信息查询服务iqs-search api-key对应环境变量 IQS_SEARCH_API_KEY。阿里云百炼api-key 对应环境变量 AI_DASHSCOPE_API_KEY。百度云翻译sk对应环境变量 BAIDU_TRANSLATE_SECRET_KEY。百度云地图ak对应环境变量 BAIDU_MAP_API_KEY。
2025-06-30 16:32:02
562
原创 浅谈AI Agent 演进之路
1、了解下 AI Agent 的定义AI Agent(人工智能代理)简单来说是一种能够感知环境、进行决策和执行动作的智能实体。与传统的人工智能相比,AI Agent 具备独立思考和调用工具逐步完成目标的能力。例如:当要求 AI Agent 帮助下单外卖时,它可以自主调用应用程序、选择餐品、提交订单并完成支付,而无需人为指定每一步操作。AI Agent 的主要能力组成部分包括:1、逻辑推理能力和行动能力(Planning)1.1、子任务分解:将复杂的任务拆解为更小的、可管理的子目标,以便高效处理。
2025-04-25 11:28:20
1058
原创 docker部署Supabase
1、是一个开源的后端即服务(Backend-as-a-Service,BaaS)平台,类似于 Firebase,但基于开源技术栈。它为开发者提供了实时数据库、身份验证、存储和 Edge 函数等功能。Supabase 的核心基于2、 启动 Supabase 服务, 此命令会启动所有服务,并在后台运行。
2025-04-24 10:09:12
886
原创 spring-ai之Advisors API
通过利用 Advisors API,开发人员可以创建更复杂、可重用和可维护的 AI 组件。是关键的 advisor 方法,通常执行诸如检查未密封的 Prompt 数据、自定义和扩充 Prompt 数据、调用 advisor chain 中的下一个实体、选择性地阻止请求、检查聊天完成响应以及引发异常以指示处理错误等作。主要优势包括封装重复的生成式 AI 模式、转换发送到大型语言模型 (LLM) 和从大型语言模型 (LLM) 发送的数据,以及提供跨各种模型和用例的可移植性。提供唯一的 advisor 名称。
2025-04-23 09:28:00
531
1
Ambari卸载脚本
2018-06-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人