yiridancan
码龄1年
关注
提问 私信
  • 博客:33,391
    33,391
    总访问量
  • 22
    原创
  • 38,261
    排名
  • 428
    粉丝

个人简介:最大心愿就是少掉头发

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2024-03-12
博客简介:

yiridancan的博客

查看详细资料
  • 原力等级
    领奖
    当前等级
    3
    当前总分
    249
    当月
    6
个人成就
  • 获得594次点赞
  • 内容获得8次评论
  • 获得412次收藏
  • 代码片获得319次分享
创作历程
  • 22篇
    2024年
成就勋章
TA的专栏
  • 并发编程
    5篇
  • Excel
    2篇
  • 开发工具
    1篇
  • Redis
    1篇
  • Spring Boot
    2篇
  • 场景
    1篇
  • 设计模式
    4篇
  • Mybatis
    1篇
  • Drools
    1篇
兴趣领域 设置
  • Java
    javaspringintellij-ideaspring bootspring cloudjvmjettyservletmybatisjava-rabbitmq
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

什么是ThreadLocal?实现原理是什么?

ThreadLocal 是一个用于创建线程局部变量的类。每个线程都可以通过 ThreadLocal 存储和访问自己的变量副本,而不会影响其他线程。这在需要为每个线程提供独立的实例或数据时非常有用,比如数据库连接、用户会话等。使用 ThreadLocal 可以避免共享数据引起的并发问题。
原创
发布博客 2024.10.17 ·
1080 阅读 ·
26 点赞 ·
0 评论 ·
22 收藏

为什么SimpleDateFormat是线程不安全的

SimpleDateFormat 是线程不安全的,因为其内部状态会被多个线程共享并修改。解决方案有三种: 每个线程创建独立实例:简单且线程安全,但频繁创建实例会导致性能和内存开销较大,适合低并发场景。 使用 ThreadLocal:每个线程持有一个实例,避免频繁创建,提高性能,但需要注意 ThreadLocal 的生命周期管理,防止内存泄漏,适合高并发环境。 使用 java.time 包:DateTimeFormatter 等类是线程安全的且性能优越,推荐使用.
原创
发布博客 2024.10.17 ·
826 阅读 ·
21 点赞 ·
0 评论 ·
22 收藏

ide的使用技巧以及插件推荐

集成开发环境(IDE, Integrated Development Environment)是软件开发者用来编写代码的工具,它通常集成了代码编辑、编译、调试等功能。
原创
发布博客 2024.10.16 ·
767 阅读 ·
23 点赞 ·
0 评论 ·
18 收藏

Redis和Jedis的区别

总的来说,Redis 是一个服务,而 Jedis 是一个帮助 Java 开发者使用 Redis 的工具在CSDN上,一键三连是对作者辛勤创作的最好鼓励!💖🔝🔄。
原创
发布博客 2024.10.16 ·
657 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

如何优雅的通过Spring Boot+Redission对订单实现定时关闭

在电子商务及支付相关平台中,常规流程是首先生成订单或支付请求,用户随后会在规定时间内完成支付。如果用户未能在预设时限内完成支付动作,系统通常会执行相应的过期处理机制,即自动取消未支付的订单。到期自动确认收货:当商品配送预计到达时间过后,若用户未主动确认收货,系统将自动视为用户已收货并触发后续评价或售后环节。超时自动退款:对于某些未及时处理的退款申请,或者因物流异常等原因导致的退款,系统在达到预设等待期限后会自动退还消费者款项。
原创
发布博客 2024.10.12 ·
1327 阅读 ·
34 点赞 ·
0 评论 ·
31 收藏

如何优雅的通过Spring Boot+Redission对订单实现定时关闭

发布资源 2024.10.12 ·
zip

什么是BlockingDeque

BlockingDeque是Java中一个用于实现阻塞双端队列的接口,主要是用于多线程环境中,可以在队列的两端添加和移除元素。
原创
发布博客 2024.10.12 ·
309 阅读 ·
6 点赞 ·
0 评论 ·
11 收藏

创建线程的几种方式以及使用

线程(Thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(Lightweight Process,LWP),但一般不称呼线程为进程。线程几乎不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但它可与同属一个进程的其他的线程共享进程所拥有的全部资源。
原创
发布博客 2024.04.03 ·
1271 阅读 ·
38 点赞 ·
0 评论 ·
18 收藏

如何解决接口幂等问题

在一段时间内,对同一接口发起多次相同的请求,无论调用多少次,都应该产生相同的影响或结果,并且不会因为多次请求而改变系统的状态。也就是说,接口幂等性强调的是请求的可重复性和结果的一致性,而不是简单的时间上的“同时间发起”。在商城下单场景中,确实需要实现接口幂等性来防止因网络重试或其他异常情况导致的订单重复创建等问题。若不实现幂等性控制,用户可能会因为同一笔订单提交了多次请求,进而产生多笔订单,这显然是不符合业务需求的。
原创
发布博客 2024.04.02 ·
438 阅读 ·
6 点赞 ·
0 评论 ·
8 收藏

高并发场景防止库存数量超卖少卖

发布资源 2024.04.01 ·
zip

设计模式-代理模式

在Java中,动态代理主要有JDK动态代理和Cglib动态代理。JDK动态代理原生支持,实现起来简单明了,主要是通过InvocationHandler和Proxy实现。适用于并发不高且代理类必须是接口的情况,它底层主要是通过反射操作。Cglib需要依赖第三方类库,主要是通过MethodInterceptor和Enhancer。适用于并发量高且普通类的情况。它底层主要是通过字节码操作
原创
发布博客 2024.04.01 ·
1130 阅读 ·
32 点赞 ·
0 评论 ·
10 收藏

Java中文乱码浅析及解决方案

Java中文乱码浅析及解决方案
原创
发布博客 2024.03.29 ·
422 阅读 ·
7 点赞 ·
0 评论 ·
5 收藏

高并发场景防止库存数量超卖少卖

商品超卖现象,即销售数量超过了实际库存量,通常是由于未能正确判断库存状况而发生的。在常规的库存管理系统中,我们会在扣减库存之前进行库存充足性检验:仅当库存数量大于零时,系统才会执行扣减动作;若库存不足,则即时返回错误提示。然而,在高并发的销售场景下,传统的处理方法往往难以确保库存扣减的准确性。为了解决这一问题,我们可以采用线程加锁机制或利用Redis等内存数据结构来同步库存状态,从而保证即使在大量同时交易的情况下,库存扣减也能保持准确无误。
原创
发布博客 2024.03.28 ·
4189 阅读 ·
130 点赞 ·
2 评论 ·
54 收藏

什么是工厂模式?以及三种工厂模式的区别和特点

想象一下经营一家面馆:简单工厂模式犹如一位大厨,客人点单(如牛肉面或鸡肉面),大厨便统一制作。若新增海鲜面,大厨操作需调整。工厂方法模式下,面馆升级为连锁品牌,总部定规范(抽象方法),各分店按地域特色实践,独立研发新品(如酸辣肥肠面)而不改全局模式。抽象工厂模式中,面馆囊括面条、小菜与饮品系列,设置一套生产流程接口。当推新品冷面套餐时,各店按接口创新组合,体现开闭原则——扩展便捷,修改受限。
原创
发布博客 2024.03.27 ·
4709 阅读 ·
20 点赞 ·
0 评论 ·
49 收藏

通过EasyExcel+线程池实现百万级数据从Excel导入到数据库

发布资源 2024.03.26 ·
zip

全球首位AI程序员诞生,将会对程序员的影响有多大?

自动化与效率提升:工作角色转型:技能要求变化:职业市场动态:伦理与安全挑战:
原创
发布博客 2024.03.26 ·
214 阅读 ·
5 点赞 ·
0 评论 ·
0 收藏

设计模式中的策略模式和if-else的区别

设计模式中的策略模式和if-else的区别
原创
发布博客 2024.03.26 ·
1524 阅读 ·
22 点赞 ·
0 评论 ·
7 收藏

设计模式中什么是开闭原则?

开闭原则(Open-Closed Principle,OCP)是面向对象设计中的一个重要原则,由勃兰特·梅耶(Bertrand Meyer)在他的著作《面向对象软件构造》(Object-Oriented Software Construction)中首次提出。这个原则强调软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。换句话说,当需要改变系统的行为或者添加新功能时,应该尽量避免修改已有的代码,而是通过扩展已有的代码来实现变化。开放性(Open for Extension)
原创
发布博客 2024.03.25 ·
465 阅读 ·
5 点赞 ·
0 评论 ·
8 收藏

通过EasyExcel+线程池实现百万级数据从Excel导入到数据库

通过EasyExcel+线程池实现百万级数据从Excel导入到数据库
原创
发布博客 2024.03.21 ·
4260 阅读 ·
74 点赞 ·
5 评论 ·
45 收藏

Spring Boot集成Mybatis和MySQL对数据库进行操作

Spring Boot集成Mybatis和MySQL对数据库进行操作
原创
发布博客 2024.03.21 ·
362 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏
加载更多