带你分析阻塞队列的源码实现 编程语言

带你分析阻塞队列的源码实现

阻塞队列阻塞队列是一种队列,一种可以在多线程环境下使用,并且支持阻塞等待的队列。从5.0开始,JDK在java.util.concurrent包里提供了阻塞队列的实现。尽管JDK中已经包含了阻塞队列的官方实现,但是熟悉其背后的原理还是很有帮助的。本文我们就分析几个BlockingQueue常用的实现类源码。
阅读全文
带你分析线程的状态及线程通信机制 编程语言

带你分析线程的状态及线程通信机制

多线程编程一直是普通程序员进阶为高级程序员的必备技能之一!他很难,难就难在难以理解、难以调试,出现了bug很难发现及排查。他很重要,因为我们可能随时都面对着线程的切换、调度,只是这些都由CPU来帮我们完成我们无法感知。
阅读全文
不懂数据库索引的底层原理?那是因为你心里没点b树 软件基础

不懂数据库索引的底层原理?那是因为你心里没点b树

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。索引的一个主要目的就是加快检索表中数据,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。
阅读全文
带你理清Thread、Runnable、Callable、FutureTask之间千丝万缕的联系 编程语言

带你理清Thread、Runnable、Callable、FutureTask之间千丝万缕的联系

多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。Java自从1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。今天我们就来讨论一下Thread、Runable、Callable、FutureTask之间的联系!
阅读全文
基于消息队列的分布式事务解决方案 应用框架

基于消息队列的分布式事务解决方案

由于分布式微服务的推广及普及,一些较大的项目就会进行业务拆分,不同的业务系统拥有独立的数据库,因此就出现了跨多个数据库的事务需求。分布式事务指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。而分布式事务就需要处理在分布式系统中保证不同节点之间的数据一致性...
阅读全文
Loading...