青云博客 记录、分享

人工智能服务 AIService

一、什么是AIService AIService使用面向接口和动态代理的方式完成程序的编写,更灵活的实现高级功能 二、人工智能服务 AIService 在LangChain4j中我们使用AIService完成复杂操作。底层组件将由AIService进行组装。 AIService可处理最常见的操作:

詹学伟 发布于 2025-06-03

初探langchain4j

一、简介 LangChain4j 的目标是简化将大语言模型(LLM - Large Language Model)集成到 Java 应用程序中的过程 官网: https://docs.langchain4j.dev

詹学伟 发布于 2025-06-02

WinSW部署稳定Springboot程序

说明:公司给整了一台windows服务器,用于部署三个小项目,最开始我编写了一个简单的.bat启动脚本,但是后面发现这样启动的程序及其不稳定,每过段时间,程序就自动挂了(进程显示正常,但是不提供服务了)。于是就使用今天的WinSW。 其实我一直拒绝在windows系统上部署项目,因为我知道windo

詹学伟 发布于 2025-05-23

SpringBoot中使用jasypt对配置文件敏感数据进行加密

说明:在日常开发中,我们经常会在 yml 配置文件中存放一些敏感数据,例如数据库的用户名、密码,以及第三方应用的密钥等。然而,这些信息如果直接以明文形式存储在配置文件中,会带来严重的安全隐患。为了提升数据安全性,今天我将为大家介绍如何借助 jasypt 工具,实现对 yml 文件中敏感信息的加密处理

詹学伟 发布于 2025-04-30

手把手带你搭建CI/CD工作流

什么是CI/CD? 持续集成(ContinousIntergration,CI)是在源代码变更后自动检测、拉取、构建和进行自动化测试的过程,属于开发人员的自动化流程。该解决方案可以解决在一次开发中有太多应用分支,从而导致相互冲突的问题。其基本思路是,自动化监测代码仓库的变化并拉取最新代码、编译构建和

zhanxuewei zhanxuewei 发布于 2025-03-16

SSO单点登录设计方案及落地

什么是SSO? 单点登录(Single Sign On,简称 SSO),是指在多系统应用群中登录一个系统,便可在其他所有系统中得到授权,无需再次登录。这种技术目前得到了广泛使用,它核心解决了一个问题:用户只需要登录一次,就可以访问所有相互信任的应用系统。SSO是一种思想,或者说是一种解决方案,是抽象

zhanxuewei zhanxuewei 发布于 2025-03-16

equals()和hashCode()有什么关系?为什么要重写它们?

一、核心概念: 1.equa1s()定义: equals()是Object类中的方法,用于判断两个对象是否相等。 默认实现是比较对象的引用地址(==),即它们是否是同一个对象。 我们需要重写equals()方法,让其比较对象内容而非地址。 2.hashCode()定义: hashCode()方法返回

zhanxuewei zhanxuewei 发布于 2025-03-09

Java中时间处理

一、LocalDateTime、LocalDate、Date三者联系 这里先说一下,为什么日期有Date了,还在JDK8中推出了LocalDateTime、LocalDate呢? 原因Date: 非线程安全的方法 Date类的大部分方法都不是线程安全的,比如setYear()、setMonth()、

詹学伟 发布于 2024-12-17

Jenkins Pipline部署SpringBoot项目

一、说明 之前的文章中,有一篇介绍Jenkins自动化部署的文章,本文与之前的区别在于,先前的方式基本上是通过编写shell的方式完成的,而今天这篇文章使用的是Jenkins的Pipline流水线方式完成。虽然两种方式均可以达到目的,但是个人感觉使用Pipline方式才是最佳的选择。 今天记录的过程

詹学伟 发布于 2024-07-20

阻塞队列的有界和无界

1.阻塞队列是一种特殊队列,它在普通队列的基础上提供了两个附加功能 当队列为空的时候,获取队列中元素的消费者线程会被阻塞,同时唤醒生产者线程; 当队列满了的时候,向队列中添加元素的生产者线程会被阻塞,同时唤醒消费者线程; 2.其中,阻塞队列中能够容纳的元素个数,通常情况下是有界的,比如我们实例化一个

詹学伟 发布于 2024-06-26
上一页 下一页