- 博客(20)
- 收藏
- 关注
原创 还在认为AI是Python的专属?LangChain4j这五大特性将彻底改变你的Java应用开发
摘要:LangChain4j为Java开发者提供了五大创新特性,让AI应用开发更高效:1)AIService采用面向接口设计,简化LLM集成;2)工具调用功能让LLM可执行Java方法;3)支持多种模型接入,避免供应商锁定;4)提供企业级聊天记忆管理;5)将RAG技术流程化,实现专业知识增强。这些特性使Java开发者能快速构建稳定、灵活的AI应用,打破Python在AI领域的主导地位。
2025-12-25 08:51:17
449
原创 一文讲清---ELK搭建
1.需要准备一台linux服务器(最好是CentOS7),内存至少4g以上(三个组件都比较占用内存)2.需要有docker使用经验。
2025-12-24 10:13:55
582
原创 你不知道的5个谷歌AI Studio神级免费功能
Google AI Studio:被低估的免费AI创作平台 这个由谷歌推出的免费AI工具集合了五大核心功能,远超普通聊天机器人的范畴。平台整合了最新Gemini模型,支持: 全功能创作套件:包含内容生成、图片动画制作、文本转语音等多媒体工具 实时AI顾问:通过屏幕共享实现语音对话和即时指导 无代码应用开发:用自然语言描述即可构建个性化应用 多媒体工作室:从图片生成到动画制作一站式完成 明确的免费边界:提供主流功能免费使用,仅高端模型需付费 该平台将专业级AI能力平民化,为个人和小企业主提供了零成本的内容创作
2025-12-23 19:33:45
875
原创 Java算法 Map常用方法----getOrDefault (水果成篮)
你正在探访一家农场,农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示,其中 fruits[i] 是第 i 棵树上的水果 种类。你想要尽可能多地收集水果。在这里如果不会使用集合的特殊方法很难想到怎么做,看了官方题解。
2025-09-11 16:06:48
437
原创 微服务---OpenFeign , Nacos 与 动态路由
把一个单体项目拆分成很多的小的项目共同提供"服务",我们称之为"微服务"微服务拆分以后碰到的各种问题都有对应的解决方案和微服务组件,而SpringCloud框架可以说是目前Java领域最全面的微服务组件的集合了。框架: “框架”指的是一套用于构建微服务系统的技术组件和工具集合,帮助开发者解决服务拆分后带来的各种问题。SpringCloud依托于SpringBoot的自动装配能力,大大降低了其项目搭建、组件使用的成本。
2025-08-05 15:31:26
923
原创 初识 docker [下] 项目部署
思考一下:以后我们会有很多很多java项目需要打包为镜像,他们都需要Linux系统环境、JDK环境这两层,只有上面的3层不同(因为jar包不同)。docker-compose文件中可以定义多个相互关联的应用容器,每一个应用容器被称为一个服务(service)。制作镜像的过程中,需要逐层处理和打包,比较复杂,所以Docker就提供了自动打包镜像的功能。我们只需要将打包的过程,每一层要做的事情用固定的语法写下来,交给Docker去执行即可。当Dockerfile文件写好以后,就可以利用命令来构建镜像了。
2025-07-28 21:58:25
1059
3
原创 初识 docker [上]
容器内的目录与宿主机的目录关联起来,我们称为挂载,此时,我们操作宿主机的挂载目录就是在操作容器内的被挂载目录。可以发现,数据卷的目录结构较深,如果我们去操作数据卷目录会不太方便。容器是隔离环境,容器内程序的文件、配置、运行时产生的容器都在容器内部,我们要读写容器内的文件非常不方便。注意:容器与数据卷的挂载要在创建容器时配置,对于创建好的容器,是不能设置数据卷的。这个目录就是默认的存放所有容器数据卷的目录,其下再根据数据卷名称创建新目录,格式为 /数据卷名/_data。: 数据卷名:容器内目录。
2025-07-27 17:49:16
1407
原创 MyBatis-Plus[核心]
虽然我们可以在使用UpdateWrapper时候使用setSql函数但是这样会导致一个问题,某些企业也是不允许在service层里面写sql,但是如果只有自己在XML手写sql又太麻烦了----所以,MybatisPlus提供了自定义SQL功能,可以让我们利用Wrapper生成查询条件,再结合Mapper.xml编写SQL@Test// 1.准备自定义查询条件// 2.调用mapper的自定义方法,直接传递Wrapper要求:1.在传入的wrapper前面要加上注解。
2025-07-23 21:00:03
763
原创 方法引用 参数不一致问题
方法引用中的“第一个参数”经常被作为“调用者对象”,而不是传给方法的参数。这就是为什么看起来“参数个数不一致”,但实际上能成立的原因。Function 有返回值,Consumer 消耗数据Supplier 只产出,Predicate 判断条件Bi 前缀表示两个参数,Unary/Binary 操作同类型数据最后挂一下大佬的文章,我觉得讲的特别好秒懂Java之方法引用(method reference)详解。
2025-07-21 20:39:13
1070
原创 Mybatis-Plus[入门]
MybatisPlus提供了一个基础的BaseMapper接口,其中已经实现了单表的CRUD(认爸爸BaseMapper泛型写操作的单表在项目里面的实例对象使用时当成自己写的方法即可。
2025-07-19 10:48:13
516
原创 【苍穹外卖 | 第九天】
实现了很多接口,很畅快.还优化用户下单功能,加入校验逻辑,如果用户的收货地址距离商家门店超出配送范围(配送范围为5公里内),则下单失败。指通过某种方式使得程序中的某些部分可以在不修改代码的情况下进行调整。通常涉及从外部来源读取配置信息,如环境变量、配置文件、命令行参数等。使用HttpClientUtil来发送请求给百度后台,获取两个位置的经纬度,然后再根据百度地图的。来计算两地之间的距离,大于约定的距离不接单。先注入配置在ym里面的内容。
2025-06-08 21:26:01
205
原创 【苍穹外卖 | 第八天】
内网穿透” 指的是通过使用 cpolar 这样的工具,将处于内网环境下的本地服务器,通过安全隧道的方式暴露到公网,使得公网用户能够访问原本只能在内网中访问的服务。关于用户下单我觉得还是curd,和之前的不同就是数据库表变多了需要处理的数据变多了,下单这个操作相当于往两个表加入数据,一个表是订单表插入订单相关的数据,另一个表是订单菜品表记录口味和数量.今天的内容重心要放到订单支付里面.订单支付业务代码具有通用性,这个部分的学习重点在于学习微信支付的流程.
2025-06-07 17:13:40
434
原创 [苍穹外卖 | 第六天]
本文介绍了微信小程序登录的实现流程,主要使用HttpClient发送请求获取用户openid。核心内容包括:1) HttpClient的作用和使用场景,用于后端发送HTTP请求;2) 登录流程:获取openid→查询数据库→存在则登录/不存在则注册;3) HttpClient的API和使用步骤;4) 提供的工具类封装了GET/POST请求方法,简化了HTTP操作。此外还分享了开发中遇到的"找不到符号"错误解决方法。该实现适用于小程序用户认证场景,通过HttpClient与微信服务器交互
2025-06-04 19:26:25
592
原创 [苍穹外卖Day5]第六天
Redis相比MySQL具有更高的读写性能,适合高请求场景如店铺营业状态设置。营业状态只需一个字段,适合用Redis字符串存储(1表示营业,0表示打烊)。
2025-05-30 15:04:50
850
原创 [苍穹外卖Day3]第三第四天
在之前的新增员工或者新增菜品分类时需要设置创建时间、创建人、修改时间、修改人等字段,在编辑员工或者编辑菜品分类时需要设置修改时间、修改人等字段。这些字段属于公共字段,也就是也就是在我们的系统中很多表中都会有这些字段自定义注解/*** 自定义注解,用于标识某个方法,进行功能字段自动填充处理*/// value是默认的名字注解里面定义变量需要在后面加上()
2025-05-27 20:24:51
2021
原创 [苍穹外卖Day2]第二天
ThreadLocal 并不是一个Thread,而是Thread的局部变量。ThreadLocal为每个线程提供单独一份存储空间,具有线程隔离的效果,只有在线程内才能获取到对应的值,线程外则不能访问。前端每一次请求是一个线程。
2025-05-26 14:04:24
214
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅