摘要: 你可能有这样一个疑问,Java SDK 并发包里为什么还有很多其他的工具类呢?原因很简单:分场景优化性能,提升易用性。 针对读多写少这种并发场景,Java SDK 并发包提供了读写锁——ReadWriteLock 读写锁,并不是 Java 语言特有的,而是一个广为使用的通用技术,所有的读写锁都遵守以 阅读全文
posted @ 2020-02-24 07:51 架构之路 阅读(469) 评论(0) 推荐(0) 编辑
摘要: Semaphore,信号量,常用于限制可以访问某些资源的线程数量,比如连接池、对象池、线程池等等。其中,你可能最熟悉数据库连接池,在同一时刻,一定是允许多个线程同时使用连接池的,当然,每个连接在被释放前,是不允许其他线程使用的。 信号量实现了一个最简单的互斥锁功能。估计你会觉得奇怪,既然有 Java 阅读全文
posted @ 2020-02-23 23:44 架构之路 阅读(3312) 评论(0) 推荐(1) 编辑
摘要: 例如,有三个方法 A、B、C,他们的调用关系是 A->B->C(A 调用 B,B 调用 C),在运行时,会构建出下面这样的调用栈。每个方法在调用栈里都有自己的独立空间,称为栈帧,每个栈帧里都有对应方法需要的参数和返回地址。当调用方法时,会创建新的栈帧,并压入调用栈;当方法返回时,对应的栈帧就会被自动 阅读全文
posted @ 2020-02-23 15:03 架构之路 阅读(543) 评论(0) 推荐(0) 编辑
========================================================================== 如果您觉得这篇文章对你有帮助,可以【关注我】或者【点赞】,希望我们一起在架构的路上,并肩齐行 ==========================================================================