自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (2)
  • 收藏
  • 关注

原创 深入理解 Spring 事务传播行为:从源码角度剖析事务管理的核心实现

深入理解 Spring 事务传播行为:从源码角度剖析事务管理的核心实现

2025-12-26 10:08:40 970

原创 惊!你的代码可能正在被事务 “拖后腿“——Spring 事务注解性能优化实战

惊!你的代码可能正在被事务 "拖后腿"——Spring 事务注解性能优化实战

2025-12-25 13:58:29 887

原创 1 行代码让 1000 笔订单支付失败!这个 Set 集合坑 90% 程序员都踩过

1 行代码让 1000 笔订单支付失败!这个 Set 集合坑 90% 程序员都踩过

2025-10-24 14:45:51 268

原创 惊出冷汗!读完《影响力》才醒:超市试吃买单、买电脑被坑、职场跟风…6 个套路天天绕着你转,3 招反制不做 “冤种”

惊出冷汗!读完《影响力》才醒:超市试吃买单、买电脑被坑、职场跟风…6 个套路天天绕着你转,3 招反制不做 “冤种”

2025-10-23 00:30:49 625

原创 我被AI坑惨了!Redis multiGet这坑90%的Java开发者都踩过

作者用Redis multiGet批量查缓存时,被AI提示“顺序可能错乱、存在越界风险”,改出冗余代码后才发现:Redis官方明确multiGet返回顺序与传入keys完全一致,不存在的key仅返回null,顺序绝不会乱!教训:基础API用法别全信AI,先查官方文档更靠谱~

2025-10-16 09:58:25 881

原创 从年薪5万到50万:工资涨10倍,我靠这3个“反常识”坚持破局

摘要: 从月薪4000到年薪40万,11年职场逆袭的秘诀并非运气,而是三个核心策略:聚焦长板,将优势打磨到不可替代;利用碎片时间持续学习,保持竞争力;以结果为导向,用实际成果证明价值。文章通过亲身经历揭示:普通人的成长没有捷径,只有不断突破舒适区、在关键领域持续深耕,才能实现质的飞跃。真正的职场底气,源于每一次"再坚持一下"的积累。(149字)

2025-10-14 00:22:51 278

原创 从“饥饿营销“到“全场景生态“:价格背后的市场进化论

📱 小米新款发布的消息弹出时,我下意识翻了翻抽屉里那部泛黄的小米1——塑料后盖上还留着当年贴的卡通贴纸,充电口边缘的掉漆痕迹里,藏着2011年那个夏天全国年轻人的集体记忆。

2025-09-26 09:51:27 990

原创 探秘Java HashSet remove失效:那些让人“抓耳挠腮”的事儿与神奇解法

/ 只重写了equals方法,没有重写hashCode方法@Override// 创建一个与person1内容相同的新对象// 预期移除person2,但由于hashCode未重写,移除失败System.out.println("元素是否移除成功: " + removed);瞧这代码,咱定义了个Person类,满心欢喜地重写了equals方法,想着这下万事大吉啦。结果呢,却忘了重写hashCode方法。这就好比你给家门换了把新锁(equals。

2025-09-23 15:51:16 688

原创 为什么你加班到10点还在改bug?高手早用「暗时间」下班了

《暗时间》揭示:高手用“大脑后台运行内存”,将走路、吃饭等碎片时间转化为思维编译期。其价值远超熬夜——实际成长=时间×效率密度,暗时间提升后者。程序员可通勤时“跑架构设计”、午休“复盘代码”、睡前“植入问题”,让思维在后台“离线编译”,实现效率翻倍还不用加班。💡

2025-09-19 14:54:02 497

原创 2025主流大模型核心信息

本文对比2025年8大主流大模型,其中国际模型以GPT-5、Claude 4为代表,技术领先但存在本土化不足;国内模型如通义千问3.0、文心5.0则强于中文处理与行业落地。通过拟人化比喻展现各模型优劣势,设计趣味场景演示能力,并以"性格测试"形式提供选购建议,助用户快速匹配需求。

2025-09-11 23:01:11 973

原创 AI 技术体系核心概念

将复杂任务拆解为有序步骤,按预设流程执行以确保准确性和效率,类似工厂流水线的 “生产手册”—— 仅关注 “步骤先后”,不涉及 AI 模型底层逻辑。通过检索外部知识库(企业文档、数据库等)增强大语言模型(LLM)的回答准确性,解决 LLM “知识过时”(如未收录 2024 年新政策)和 “幻觉”(虚构信息)问题。用私有数据(如企业内部问答、行业专属术语)调整预训练大模型的参数,让 AI 从 “通用学霸”(如 GPT-4、文心一言)转变为 “领域专家”(如法律 AI、医疗 AI)。

2025-09-10 23:35:58 609

原创 贪心算法与动态规划:数学原理、实现与优化

深入剖析贪心与动态规划的数学原理,助专业开发者掌握算法选择与优化策略

2025-09-09 20:13:47 864

原创 异地多活架构:从“机房炸了”到“用户无感”的逆袭之路

异地多活架构通过多地部署服务,解决单点故障与城市级灾难,保障服务持续可用。核心技术含数据分级同步(CAP理论权衡,核心数据强一致、非核心最终一致)、冲突处理(时间戳/版本号/业务规则策略)、故障秒级自动切换(心跳+业务健康检测)及成本分级复用(核心机房物理机+非核心云服务器)。实战需适配业务场景,最终实现99.99%可用性,让故障对用户无感。

2025-09-04 19:25:29 1005

原创 2025年9月3日 技术学习打卡日志

想通「轻记忆」后,我突然更懂用户笔记里的「思维模式还是需要着重打磨」——思维模式是「如何思考问题」的底层逻辑,它决定了你遇到新问题时,能不能用旧知识推导出新解法。(举一反三)举个例子:同样是学「拦截器和过滤器」,「记细节」的人会背:「过滤器是Servlet规范,拦截器是Spring MVC;过滤器在Servlet容器初始化时创建,拦截器在Spring IoC容器初始化时创建」。但「练思维」的人会问:为什么会有这两种技术?

2025-09-03 15:27:45 738

原创 Spring AOP深度解析:从实现原理到最佳实践

Spring AOP通过动态代理(JDK/CGLIB)实现横切逻辑与业务解耦,运行时织入增强。需注意代理限制(final类/方法不支持、private方法无法增强)及自调用问题。最佳实践包括精准切点、优先环绕通知、控制切面数量;性能优化可通过代理选择(单例用CGLIB、原型用JDK)和拦截器链精简实现。一文掌握原理、避坑与提效技巧。

2025-09-03 14:57:13 1176

原创 HandlerInterceptor 与 Filter 深度对比及生效维度解析

HandlerInterceptor与Filter是Java Web请求拦截工具:Filter属Servlet规范,作用于容器层,拦截所有请求(含静态资源);HandlerInterceptor是Spring MVC专属,仅拦截Controller请求。Filter先执行(容器层),HandlerInterceptor后(框架层)。全局处理(跨域、编码)用Filter,业务精细控制(权限校验)用HandlerInterceptor。

2025-09-02 15:57:12 597

原创 ForkJoinPool 默认线程池超出最大线程数限制

线上发现盘后资产重算cpu飙高,导致扩容jdk 版本:1.8。

2024-08-11 13:22:28 1328 1

原创 Consul 配置读取示例

【代码】Consul 配置读取示例。

2024-05-17 09:19:57 257

原创 Hutool JSONUtil.toBean 转换字段丢失问题

在做单元测试使用JSONUtil.toBean反序列化时,发现某些字段丢失。发现是存在两个hutool包5.7.6和5.8.20。将老的5.7.6的包排除引入新的。

2023-11-09 09:34:29 1295

原创 重温缓存的正确使用姿势

Cache Aside: - 读取数据时,先从缓存读取,如果缓存中不存在,则从数据库中读取,并将数据存入缓存。可能出现缓存穿透的问题。- Read/Write Through: - 读取数据时,先从缓存读取,如果缓存中不存在,则从数据库中读取,并将数据存入缓存。- 写入数据时,先检查缓存,如果不存在,则直接更新数据库,并将数据存入缓存。- 缓存穿透:指请求的数据在缓存和数据库中都不存在,导致每次请求都需要访问数据库。多级缓存: 多级缓存是指在系统中使用多个层次的缓存,以提高缓存的命中率和性能。

2023-10-16 21:33:24 225

原创 mybatis bean属性识别丢失【NoSuchPropertyException】

发现线上报错日志。

2023-09-13 14:32:55 487

原创 vault配置指南

vault配置指南

2023-01-04 11:20:29 1315

原创 Spring bean常用注解注入方式

注解方式注入bean

2022-12-01 09:25:31 226

原创 idea 拉取 GitLab 分支和实际提交记录不一致

解决冲突时,突然发现从idea origin/test 拉取到的分支合并时,有大量类变更。然后查看提交记录发现也对不上号了。

2022-10-20 10:42:27 903

原创 FeignClient接收参数字段缺失

feign、SpringMvc中Jackson导致的http接口字段丢失问题

2022-10-13 15:37:48 1817

原创 业务主键多维度多值情况下如何保证数据唯一性?(示例纯属虚构,如有雷同纯属巧合)

多要素,数据唯一性

2022-03-20 17:22:14 1765 3

原创 spring 事务配置

<!-- 声明式事务管理 --><!--定义事物管理器,由spring管理事务 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="jedDataSource"></property></bean&gt.

2021-11-26 12:38:39 389

原创 集成mapstruct需要几步?

集成mapstruct,让你从字段映射中完成解放

2021-11-24 10:11:38 165

原创 JDBC超时、时区参数ConnectTimeout

下面是不同驱动的socket timeout配置方式。connectTimeout和socketTimeout的默认值为0时,timeout不生效。 除了调用DBCP的API以外,还可以通过properties属性进行配置。JDBC Driver connectTimeout配置项 socketTimeout配置项 url格式 示例 MySQL Driver connectTimeout(默认值:0,单位:ms) socketTimeout(默认值:0,单位:

2021-10-14 14:37:00 7176

原创 关于分库保证数据一致性相关思考

1、分布式事务tcc、柔性事务2、最终一致性可以做的事情:、工具化实现常用方案总结(强一致、弱一致、最终一致)常用场景总结数据库分库(目前主要场景)不同中间件(mq、数据库)不同的应用()目前实现原理强一致:2pc:投票、决定问题:单点故障,事务管理器出现故障,整个系统不可用数据不一致:在阶段2事务管理器只成功发送了部分commit信息。响应时间较长:当事务管

2021-09-26 09:35:13 846

原创 mysql中Timestamp,time,datetime 区别

参考内容:Mysql的timestamp(时间戳)详解以及2038问题的解决方案_ratel的博客-优快云博客_timestamp 范围 使用场景 备注 Timestamp ’1970-01-01 00:00:00’到2037年 时间戳、自动时区转化,实际存储毫秒数,4字节存储 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至

2021-09-26 09:32:24 280

原创 性能篇系列—stream详解

合理使用Stream在循环迭代次数较少的情况下,常规的迭代方式性能反而更好 在单核CPU服务器配置环境中,也是常规迭代方式更有优势 在大数据循环迭代中,如果服务器是多核CPU的情况,采用Stream的并行迭代优势明显Stream APIJava 8集合中的Stream相当于高级版的IteratorStream API通过Lambda表达式对集合进行各种非常便利高效的聚合操作,或者大批量数据操作Stream的聚合操作与数据库SQL的聚合操作sorted、filter、map等非常类似 在数

2021-09-26 09:31:20 1061

原创 Idea 右侧常用栏中没有Maven选项

idea版本 2021.3原因:新拉取了一个项目,但是项目却没有maven选项。此时需要手动将此项目设置为maven项目1、使用Shift +Ctrl +A(windows)2、然后选择项目的rootpom文件即可3、后面idea会自动加载maven...

2021-08-06 09:43:09 771

原创 window hosts不生效的可能

一、配置windows下域名解析文件位置:c:\windows\system32\drivers\etc\hostswindows下修改的文件为:到命令行(cmd) ping一下,看是否解析注意:中间的空格建议从上边拷贝下来,使用tab出现ping不通的问题。生效的这行不能有#不然会无效,就写在最后也不行。二、修改hosts文件不起作用的问题1、关闭浏览器2、命令行(cmd)运行:ipconfig /flushdns #清除DNS缓存内容3、ping一下地址,看...

2021-08-03 20:37:08 3357 1

原创 idea-自动去除包引用

快捷键:ctrl+alt+s

2021-06-30 09:34:06 356

原创 ibatis 查询字段丢失

起因:一个查询语句,明明数据库有值但是用ibatis查询出来的值却是null。根据查询源码得到是在此处获取字段值时为空com.ibatis.sqlmap.engine.mapping.result.ResultMappublic Object[] getResults(StatementScope statementScope, ResultSet rs) throws SQLException { ErrorContext errorContext = stateme

2021-05-20 12:19:41 437

原创 异常:Unknown lifecycle phase “mvn“. You must specify a valid lifecycle

原来命令:mvn org.jacoco:jacoco-maven-plugin:0.8.5:report调成去掉 mvn 即可

2021-05-12 12:03:38 333

原创 jacorg.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

这个问题是tomcat版本过低报的错误,由于开发的tomcat版本高于部署的tomcat版本,所以你部署的时候会遇见这个错误。解决办法:方法一:将当前的tomcat7升级至高版本tomcat8。方法二:将当前的tomcat7的tomcat\conf\catalina.properties文件,节点增加log4j-api-2.10.0.jar,然后重新启动tomcat,问题解决。(其实目的就是设置tomcat扫描时忽略这个jar包)tomcat.util.scan.DefaultJarSca

2021-05-11 19:45:44 1275

原创 mapstruct常用问题点

https://mapstruct.org/faq/#why-does-named-not-work在使用@Mapping#qualifiedByName时要特别注意,方法的参数和返回值要和源,目标属性完全一致。不然会抛出找不到方法异常

2021-04-30 10:06:57 844

原创 mapstruct进阶使用

https://www.cnblogs.com/junzhu-bye/p/12900950.html

2021-04-29 22:35:41 252

关于分布式事务的整理

分布式、事务、常用解决方案、案例分析

2017-08-16

srvany,instsrv

window服务新增

2017-08-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除