自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 MinGW-w64安装

MinGW-w64安装

2025-09-30 16:06:57 271

原创 Elasticsearch安装IK中文分词器

Elasticsearch安装IK中文分词器

2025-09-24 20:58:27 185

原创 代码明明执行了却返回404错误——SpringMVC自动拼接请求路径

SpringMVC自动拼接请求路径——代码明明执行了却返回404错误

2025-09-24 16:49:47 406

原创 微信小程序支付的一些细节

(通常包含支付金额、订单简要信息,并提供“确认支付”“取消”等操作按钮),等待用户进行下一步的支付确认(如输入支付密码、刷脸等,具体取决于用户的支付设置)。此时,小程序会把包含签名的支付参数(如订单号、支付金额、商户信息、签名等)传递给微信支付系统,请求微信支付系统弹出支付授权界面。,通过签名机制,在技术上确保了支付请求的“真实性”和“完整性”,为后续用户顺利、安全地完成支付提供基础。商家小程序在接收到商户系统后台返回的“带签名支付信息”(第8步)后,会调用微信提供的小程序支付接口。

2025-09-24 16:33:59 885

原创 HashMap常用方法总结

HashMap常用方法总结

2025-09-05 18:35:38 367

原创 Java—实现单例模式的几种方法

Java-创建单例模式的几种方法

2025-09-04 10:43:38 297

原创 MySQl——对group by 的严格限制

[42000][1055] Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 在使用分组后不要去取查询那些不确定的字段,这样就能保证查询结果的唯一性和可预测性,避免因随机取值导致的业务逻辑错误。

2025-08-21 10:00:39 347

原创 ThreadLocal的基本原理和应用场景

是的,会因为线程池中的长生命周期线程持有强引用的值。ThreadLocal 的工作原理基于每个线程内部维护的一个 ThreadLocalMap(一个特殊的 HashMap),其中键(key)是 ThreadLocal 实例本身(使用弱引用),值(value)是线程本地存储的对象。ThreadLocal 是 Java 中提供的一种线程本地存储机制(Thread Local Storage,简称 TLS),它允许每个线程拥有自己独立的变量副本,从而实现线程间的数据隔离。:默认不继承父线程的值。

2025-08-19 14:23:15 692

原创 Java中强引用、软引用、弱引用和虚引用的区别

Java中的引用类型位于java.lang.ref包,主要用于管理对象在内存中的生命周期和垃圾回收(GC)行为。

2025-08-19 14:01:50 613

原创 @sun.misc.Contended和伪共享(False Sharing)

伪共享是多核 CPU 系统中因缓存一致性机制导致的性能问题。CPU 缓存机制:现代 CPU 使用缓存(cache)来加速内存访问。缓存以缓存行(cache line)为单位(通常 64 字节)从主内存加载数据。多个变量可能共享同一个缓存行。问题场景:当多个线程在不同 CPU 核心上并发修改位于同一缓存行的不同变量时,会触发缓存一致性协议(如 MESI),导致缓存行在核心间频繁失效和同步,即使线程修改的变量是独立的。这种现象称为伪共享,因为线程看似操作独立变量,实际上因共享缓存行而产生竞争。性能影响。

2025-08-18 16:08:06 583

原创 LongAdder——高性能底层逻辑实现

LongAdder是 Java 并发工具箱中的一颗明珠,专为高并发计数场景设计,通过分散竞争(base + cells)、空间换时间和最终一致性,显著提升吞吐量。其设计理念源于“分而治之”,受 striped counters 启发,权衡了内存开销和一致性以换取性能。适合高并发、写多读少的场景(如统计、监控),但在低并发、强一致性或频繁读总和的场景中需谨慎选择。

2025-08-18 15:51:15 1325

原创 CountDownLatch 的使用方法

是协调多线程执行顺序的高效工具,通过简单的“计数器增减”机制,实现了线程间的等待通知。在初始化协调、并发测试、任务拆分等场景中非常实用,核心是理解“等待线程”与“事件线程”的角色划分。

2025-08-15 10:35:54 596

原创 RabbitMQ——延迟队列插件配置

使用 docker-compose 启动包含延迟插件的 RabbitMQ 容器服务_docker-compose rabbitmq 延迟插件-CSDN博客。

2025-08-14 16:53:59 1074

原创 RabbitMQ 新建用户

若使用的是第三方定制的 RabbitMQ 镜像(非官方默认镜像),可能预先修改了配置,默认允许。

2025-08-14 16:04:52 973

原创 Java类名冲突的两种解决方式

两种方式都能有效解决类名冲突,核心是通过明确包路径或自定义别名来区分不同来源的类。Java 10 及以上版本支持为导入的类指定别名,通过。:依赖 Java 10+ 版本,低版本不支持。:避免全类名的冗长,代码更简洁。

2025-08-13 16:10:22 219

原创 Spring 三级缓存——解决循环依赖

存早期引用(ObjectFactory 生产的对象),避免重复创建代理。存最终完全初始化的 Bean(可能是代理)。详细执行过程(以 A → B → A 的循环依赖为例)不直接存“半成品 Bean”,而是存。三级缓存的实现主要依赖于 Spring 容器的。Spring 发现完全没缓存 →。→ 支持动态生成代理对象。

2025-08-12 10:29:39 403

原创 IDEA实用工具-BooKMark ,IDEA快速在页面之间跳转

IDEA实用工具-BooKMark ,IDEA快速在页面之间跳转

2025-08-09 17:36:35 365

空空如也

空空如也

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

TA关注的人

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