编程语言 带你分析阻塞队列的源码实现 阻塞队列阻塞队列是一种队列,一种可以在多线程环境下使用,并且支持阻塞等待的队列。从5.0开始,JDK在java.util.concurrent包里提供了阻塞队列的实现。尽管JDK中已经包含了阻塞队列的官方实现,但是熟悉其背后的原理还是很有帮助的。本文我们就分析几个BlockingQueue常用的实现类源码。 2020-03-01 浏览(2,996) 评论(0) 阅读全文
应用框架 基于消息队列的分布式事务解决方案 由于分布式微服务的推广及普及,一些较大的项目就会进行业务拆分,不同的业务系统拥有独立的数据库,因此就出现了跨多个数据库的事务需求。分布式事务指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。而分布式事务就需要处理在分布式系统中保证不同节点之间的数据一致性... 2019-04-03 浏览(6,586) 评论(1) 阅读全文
应用框架 那些年我们用过的消息中间件-kafka Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景! 2019-03-17 浏览(6,200) 评论(1) 阅读全文
编程语言 你必须了解的java内存管理机制(四)-垃圾回收 JVM通过可达性分析算法将垃圾标记出来之后,会怎么样去做垃圾的清理呢?为了高效的回收垃圾,虚拟机又经历了哪些技术及算法的演变和优化呢?本文将重点介绍几种垃圾回收算法、HotSpot中常用的垃圾收集器的主要特点和应用场景! 2019-01-27 浏览(3,580) 评论(0) 阅读全文
编程语言 你必须了解的java内存管理机制(三)-垃圾标记 JVM通过可达性分析算法标记了需要回收的对象后,会采用什么算法对内存进行回收呢?为了高效的回收垃圾,虚拟机又经历了哪些技术及算法的演变和优化呢?这里将重点介绍几种垃圾回收算法、HotSpot中常用的垃圾收集器的主要特点和应用场景 2019-01-15 浏览(4,332) 评论(1) 阅读全文
编程语言 你必须了解的java内存管理机制(二)-内存分配 一个对象需要占用多大的内存?这个问题其实在类加载完成后就已经确定啦!JVM可以通过普通java对象的类元信息确定对象大小。为对象分配内存相当与把一块确定大小的内存从java堆中划分出来。 2019-01-04 浏览(4,408) 评论(3) 阅读全文
软件基础 读书笔记-揭开线程的神秘面纱 早期,操作系统没有线程的概念。整个系统只运行着一个执行线程,其中同时包含操作系统代码和应用程序代码。长时间运行的任务会阻止其他任务的执行。某个应用程序的执行可能会冻结整个机器,造成OS和其他应用程序停止响应...... 2018-12-27 浏览(2,650) 评论(0) 阅读全文