- 博客(52)
- 收藏
- 关注
原创 Spring Boot + Spring AI 最小可运行 Demo
Spring Boot + Spring AI 最小可运行 Demo只要配置好 API Key开箱即用;GitCode 示例:👉右击代码仓
2025-08-21 11:10:10
607
原创 Spring AI 入门学习指南
对比Python的生态:Python 有 LangChain,Java 生态有 Spring AI 和 LangChain4j;简单理解:Spring AI = Spring Boot + AI SDK + Prompt/RAG 封装;GitCode 示例:右击代码仓👉
2025-08-21 10:50:51
524
原创 AI 思维
AI/ ML/ DL/ LLM/ Token/ Context Window/ Self-Attention/ Emergent Abilities/ Prompt Engineering
2025-08-14 10:18:11
1109
原创 系统启动时自动同步数据库字段:支持多数据源 + 表/视图识别
通过自动化同步 Java 实体字段到数据库,我们极大地提升了系统的可维护性与稳定性,也减少了人力出错的可能。如果你也在为字段同步、大小写混乱、视图处理头疼,希望这篇博客能为你提供一份完整、实用的解决方案。
2025-07-09 17:09:46
455
原创 实体类继承 + Lombok + HashSet 去重踩坑记
Lombok 的 @Data 注解默认只处理当前类字段,这就意味着,在上面的例子中,HashSet 判断两个 SurgicalInfo 对象是否相等,仅比较了当前类的字段(如 operationCode, operationName 等),而忽略了父类中的字段!于是,只要当前类的字段相同(哪怕父类字段完全不同),对象就会被错误地认为是“重复”的,从而被 HashSet 去重
2025-07-04 13:55:18
759
原创 在ARM 架构的 Mac 上 更新Navicat到17后连接Oracle时报错:未加载 Oracle 库。
M1芯片Mac更新Navicat17后无法连接Oracle的解决方法:需在应用简介中勾选使用Rosetta打开选项。这是因为Navicat17是ARM原生应用,而Oracle客户端仍为Intel版本导致兼容性问题。通过Rosetta2转译可模拟Intel环境运行,但会降低性能。Oracle 19c及以上版本已支持ARM架构。查看数据库版本可使用SQL语句:SELECT banner FROM v$version WHERE banner LIKE 'Oracle%'。此问题仅影响Or
2025-06-11 17:07:32
1691
原创 Mysql、Oracle、Sql Server、达梦之间sql的差异
本文介绍了在SQL Server、Oracle、达梦和MySQL数据库中实现分页查询、时间处理、模糊查询以及函数和语法差异的方法。分页查询通过计算起始行和结束行,结合ROW_NUMBER()或ROWNUM实现;时间处理包括日期格式化、当前日期获取和日期加减操作;模糊查询使用LIKE语句匹配关键字;函数和语法差异涉及空值处理、条件表达式、自增主键和注释的使用。不同数据库在实现这些功能时存在语法差异,需根据具体数据库进行调整。
2025-05-16 09:46:04
732
原创 用javadbf 写 .dbf 文件使用GBK编码写入字符时无法正确裁剪长度
实际是按字符长度(1 字符 = 1 字节)来处理,遇到 GBK 编码的汉字(通常是 2 字节),它无法正确截断、填充,于是直接裁剪或出错。这版本的JavaDBF在处理GBK格式的字符时会有一个bug,无法正确的裁剪字符长度。不依赖 DBFWriter 的内部编码行为(绕过 bug)即使设置了字段长度为 50 字节,
2025-05-08 10:17:09
343
原创 CSharp和Java
最近在做一些c#重构成Java的项目,经过一段时间的痛苦期(作为一个Java的拥趸,刚开始看其他语言确实很痛苦),算是终结出了一点经验,记录一下:C# 和 Java 都是广泛使用的面向对象编程语言,它们在语法、特性和应用场景上有许多相似之处。
2025-03-05 17:28:48
682
原创 本地代码(如 HTML、CSS、JS 文件)通过 Nginx 服务进行访问(配置 Nginx 来让前端访问本地代码)
通过 Nginx 作为 Web 服务器,指向你本地的静态文件或前端代码目录,使得前端应用可以通过浏览器访问这些文件。
2025-02-28 17:33:09
643
原创 阿里云sls日志服务如何查某个具体字段的平均数
查询线上某个接口(如:list_new)的成功率和时延查接口时延的写法在网上找了一堆,都是语法错误,最后在阿里云官方api找到了正确的。
2023-12-11 10:44:50
2074
原创 定时补偿方案
补偿机制;xxl-job;分布式任务调度平台;定时任务循环查询某张表一天内的全量数据,一次查询出n条数据;xxl-job循环扫描;总结:遇到问题能抛出去就抛出去!能麻烦别人就别麻烦自己
2023-12-06 10:54:21
1933
原创 Zookeeper
Zookeeper是一个分布式协调服务,最初由雅虎公司开发。它提供了一个简单的文件系统界面,可以在分布式环境中保存和管理数据。Zookeeper的设计目标是提供高性能、高可用、严格顺序的服务。
2023-12-05 16:19:56
1453
原创 Elasticsearch
Elaticsearch,简称为 ES,是整个 ElasticStack 技术栈的核心, ES 是一个开源的高扩展的分布式全文搜索引擎 。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别的数据。
2023-11-28 10:06:37
1907
原创 Linux系统下脚本操作、host文件修改
是一个文件,它存储了计算机上主机名和 IP 地址之间的映射关系。在 Linux 和 Unix-like 操作系统中,当你需要访问一个远程服务器时,你通常需要知道该服务器的 IP 地址。但是,如果你有一个易于记忆的主机名,那么你就可以使用该主机名来代替 IP 地址进行访问。文件,你需要使用管理员权限(例如通过 sudo 命令),然后使用文本编辑器打开该文件。请注意,修改该文件可能会对系统产生影响,因此请谨慎操作。文件中的相应条目,并将该主机名映射到其对应的 IP 地址。保存并退出(注意要输入:)
2023-11-24 16:34:32
923
原创 Dubbo框架
Dubbo 是阿里巴巴开源的一个Java高性能优秀的服务框架, 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,本文是我对这dubbo的理解:主要内容有介绍什么是RPC;dubbo高性能的原因;dubbo的框架结构梳理
2023-11-23 12:04:35
1727
原创 断言语句 assertion
断言(assert)语句一般用于程序不准备通过捕获异常来处理的错误当发生某个错误时,要求程序必须立即停止执行。在调试代码阶段让断言语句发挥作用, 这样就可以发现一些致命的错误,当程序正式运行时就可以关闭断言语句,但仍把断言语句保留在源代码中,如果以后应用程序又需要调试,可以重新启用断言语句。
2023-11-21 10:13:13
343
原创 类加载器与反射
java类加载机制;JVM加载Class文件的原理机制;类装载方式;类装载的执行过程;类加载器;反射机制;静态编译与动态编译;双亲委派机制;如何破坏双亲委派机制;反射的使用场景;Java中获取反射的三种方法;反射可以获取“私有”方法或构造函数或私有成员变量;静态方法和实例方法的区别
2023-11-20 19:09:13
581
原创 Linux解压rar文件
rar x abc.rar #将aa.rar压缩文件解压到aa目录下,并保持原来压缩之前aa文件的目录组织结构。rar e abc.rar #将aa.rar压缩文件解压到当前目录,aa文件中原包含的目录全没有。-vf` 表示指定要监视的文件。下载安装rar压缩软件。
2023-11-17 14:34:08
299
原创 Pair用法示例:
这里用到了 org.apache.commons.lang3.tuple.Pair 来封装数据(就是不想自己再写一个 DO 或者 VO 或者 MO)在Java中,Pair是一种简单的数据结构,用于存储两个相关联的值。它没有特定的内置类,但可以通过自定义实现或使用Apache Commons库中的Pair类来实现。
2023-11-15 09:59:46
785
原创 MyBatis一二级缓存
一级缓存的应用场景:对数据的实时性要求不高的情况下,可以使用(虽然此时缓存与数据库数据不同,但只要有对account里的数据做增删改的操作,数据就会清空,就又同步了),它会直接从缓存里拿数据(效率提高很多);执行了增删改的任意操作,都会清空一级缓存。缓存 ,原理与一级缓存一样,但是它可以作用于不同的sqlSession。里的缓存,就会出现缓存与数据库数据不一致的情况。里的缓存(只会清空主表的缓存),此时。做一个连表查询,它的二级缓存是存在。默认用的是一级缓存,不用二级缓存。写在哪,它的缓存就存在哪个。
2023-10-24 17:11:04
114
原创 万万没有想到,打个日志还能打出一个BUG来
grep,只能查出关键字所在行,没有上下文信息less,可以看上下文以后排查日志都用less命令,grep虽然也能找到问题,但是无法准确定位到,有些很低级的错误,写出来后本人很难靠看代码发现。
2023-10-16 09:35:32
336
6
原创 Merge之后,还没有Push,如何回滚
查看git执行历史记录GIT所有的执行记录会以倒叙呈现;最上面的就是需要回滚的merge序列号,下一个就是需要回退的版本序列号;
2023-07-21 15:49:17
2068
原创 XXL-JOB设计之分片广播 & 动态分片
xxl-job通过分片广播实现海量数据的处理;xxl-job实现缓存预热;XXL-JOB设计之分片广播 & 动态分片
2023-06-25 17:33:11
6045
原创 查看当前分支是从那个分支拉来的
git reflog --date=local | grep 分支名。可以查出所有操作记录按倒叙排列。查出是从预发布分支拉来的。
2023-04-25 16:12:42
3143
原创 GIT代码暂存
撤销 git commit:git reset --soft HEAD^ ;git stash:暂存代码;idea上操作git stash;git stash clear了,找回误删的stash;新增的文件,直接执行stash是不会被存储的:
2023-04-23 17:47:47
5656
原创 《面试笔记》
线程池的最大核心线程数到底如何设置(cpu密集型,IO密集型)*CPU密集型:根据cpu的核数(是几核的就定义为几)可以保持CPU的效率最高!如何获取cpu核数:方式1、查看我们任务管理器,查看性能,cpu(12核)IO密集型:判断我们程序中十分耗IO的线程。(只要大于这个数就ok了****CPU密集型:核心线程数=CPU核心数(或 核心线程数=CPU核心数+1)。I/O密集型:核心线程数=2*CPU核心数(或 核心线程数=CPU核心数/(1-阻塞系数))。CPU密集型应用,最大线程设置为 N+1。
2023-02-24 17:27:24
256
原创 Redis常见问题
惰性删除了。这就是说,在你获取某个 key 的时候,redis 会检查一下 ,这个 key 如果设置了过期时间那么就判断是否过期了?如果过期了此时就会删除,不会给你返回任何东西。1. 定时删除 原理:给每一个过期key都生成一个定时器,一旦过期了就马上删除。优缺点:内存空间利用率高,但CPU占用高。2. 惰性删除 原理:当key查询时才检查它是否过期,如果过期则直接删除。优缺点:CPU占用低,但内存空间利用率低,容易出现OOM.3. 定期删除 原理:以某种频率定期去扫描过期key,如果过期则删除。
2023-02-01 10:37:51
136
原创 RabbitMQ(消息队列,消息中间件)
MQ:进行消息传输的中间者(服务之间可以进行消息的传递),它能让服务异步,或者说服务之间解耦的实现 小tips:spring是解类与类之间的耦合;开发追求的就是低耦合,高内聚。
2022-12-26 15:10:42
292
原创 mac启动idea后显示“idea”意外退出
每个人遇到的异常可能不同,我遇到了两种,一开始一打开idea就显示“idea”意外退出,重试一直无效,将破解fineagent.jar包的位置添加入idea.vmoptions后,就不跳出这个提示,但还是无法打开;查看运行日志后发现是之前删开发文件的时候把idea的VM options配置文件给删了。恢复配置文件后,问题解决。一定要一行行看日志,网上的解决文章都是适用于自己出现的问题!首先推荐一篇靠谱的idea破解文章。下载好idea后,安装后打开显示。一直点击重新打开一直无效;
2022-12-01 21:53:10
10193
18
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅