-
面试被问到什么是AQS,这样答满分
来源:码农本农 本篇内容基本已经涵盖了AQS的全部核心内容,本篇相比于上一篇补充了“中断”。 前置思考 实现锁应该考虑的问题如何获取资源(锁)?获取不到资源的线程如何处理?如何释放资源?资源释放后如何让其他线程获取资源?由此可以得出实现一把锁,应该具备哪些逻辑 锁的标识 需要有个标识或者状态来表示锁是否已经被占用。 线程抢锁的逻辑 多个线程如何抢锁,如何才···
- 发布时间:2025-05-17
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
确保您拥有一个独一无二的实例:单例模式的创建方式
来源:程序员wayn 理解单例模式 单例模式是一种创建模式,旨在保证一个类在应用程序的生命周期内只有一个实例,并提供一个全局访问点。这意味着当您尝试创建一个类的多个对象时,实际上您得到的是同一个实例。单例模式保证了一致的状态,降低了内存开销,并可以在系统的任何地方使用相同的对象实例。 饿汉式单例 饿汉式单例在类加载时就完成了实例的初始化。由于静态变量的创建···
- 发布时间:2025-05-17
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
面试官问了一个离奇的关于ReentrantLock的问题,我对答如流
来源:码农本农 先了解一下 读本篇前,一定要确保已经读过本公众号的AQS讲解。 我们知道实现一把锁要有如下几个逻辑锁的标识线程抢锁的逻辑线程挂起的逻辑线程存储逻辑线程释放锁的逻辑线程唤醒的逻辑我们在讲解AQS的时候说过AQS基本负责了实现锁的全部逻辑,唯独线程抢锁和线程释放锁的逻辑是交给子类来实现了,而ReentrantLock作为最常用的独占锁,其内部就···
- 发布时间:2025-05-17
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
Sharding-JDBC源码解析与vivo的定制开发
作者:vivo IT 平台团队 - Xiong Huanxin Sharding-JDBC是在JDBC层提供服务的数据库中间件,在分库分表场景具有广泛应用。本文对Sharding-JDBC的解析、路由、改写、执行、归并五大核心引擎进行了源码解析,并结合业务实践经验,总结了使用Sharding-JDBC的一些痛点问题并分享了对应的定制开发与改造方案。 本文源···
- 发布时间:2025-05-17
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
ShardingSphere5.2.1生产级分库分表实现~
来源:JAVA日知录 随着业务的不断发展,DailyMart每天产生的销售订单已经达到了约100万,并且呈持续增长趋势。按照这样的发展速度,每年的数据量将达到约4亿左右。目前,DailyMart采用的是MySQL单表进行存储,但鉴于业务的快速发展,我们迫切需要对其进行分库分表的改造。今天,我们来探讨如何实现分库分表功能,以及相关的步骤和注意事项。 这是本系···
- 发布时间:2025-05-17
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
一次因PageHelper引起的多线程复用问题的排查和解决
来源:京东技术 导读 本文不仅对遇到类似问题的开发者提供了实际的解决思路,也为希望深入理解PageHelper工作机制和多线程编程的读者提供了丰富的技术细节。无论是对于中级开发者还是有经验的架构师,本文的内容都具有一定的参考价值。01ProblemDescription在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了S···
- 发布时间:2025-05-17
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
DDD领域驱动最全详解(图文全面总结)
来源:mikechen的互联网架构 DDD是现在非常火热的,而且大厂面试也经常考察,下面我就全面来详解DDD领域驱动设计 什么是DDD架构 DDD全称是Domain-Driven Design,翻译过来就是领域驱动设计,DDD 架构是一种软件设计方法论。 如下图所示: DDD架构的作用 DDD架构通过边界划分,将复杂业务领域简单化,帮助我们设计出清晰的领域···
- 发布时间:2025-05-17
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
面试官问:ThreadLocal中的键为什么是弱引用?
来源:码农本农 ThreadLocal是一个线程安全的,以线程为单位的数据传递工具。广泛应用于多层级数据传递。 1应用场景 ThreadLocal主要功能是跨层传递参数,比如,Controller层的数据需要在业务逻辑层使用时,除了利用方法的参数传递之外还可以使用ThreadLocal传递。 有时候我们需要从上层传递一个参数到下层的方法,但是下层的方法新增···
- 发布时间:2025-05-17
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
SpringCloud微服务中如何实现多端认证?
来源:JAVA日知录 概述 DailyMart是一个ToC的在线购物商城,目前仅支持通过浏览器访问。在商城中的所有操作都需要用户先登录。为了实现这一需求,我们可以采用以下技术方案:用户通过SpringCloud Gateway访问CustomerService进行登录认证。认证成功后,服务器返回一个JWT(JSON Web Token)。在接下来的操作中,···
- 发布时间:2025-05-17
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])
-
golang sync.Map之如何设计一个并发安全的读写分离结构?
来源:蓝胖子的编程梦 在 golang中,想要并发安全的操作map,可以使用sync.Map结构,sync.Map 是一个适合读多写少的数据结构,今天我们来看看它的设计思想,来看看为什么说它适合读多写少的场景。 如下,是golang 中sync.Map的数据结构,其中 属性read 是 只读的 map,dirty 是负责写入的map,sync.Map中的键···
- 发布时间:2025-05-17
- 作者:益强科技
- 来源:[list:source]
- 浏览量([list:visits])
- 点赞([list:likes])