译:如何设计分布式锁
本文翻译自 How to do distributed locking,发布于 2016 年 2 月 8 日。
本文作者 Martin Kleppmann,软件工程师,企业家,剑桥大学分布式系统研究员、副教授,《设计数据密集型应用》(Designing Data-Intensive Applications)作者。
本文翻译自 How to do distributed locking,发布于 2016 年 2 月 8 日。
本文作者 Martin Kleppmann,软件工程师,企业家,剑桥大学分布式系统研究员、副教授,《设计数据密集型应用》(Designing Data-Intensive Applications)作者。
“Java 与 C++ 之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。” —— 《深入理解Java虚拟机》
Java 中垃圾回收(GC)机制是内存管理的核心组成部分,它负责自动回收不再使用的内存空间。
本文将以垃圾回收的设计指标和常见算法起笔,用理论与图解结合的形式详细讲解 Java 中的 “清道夫” —— 垃圾回收器的设计思路与实现原理。
在阅读本文前,请确保你已经有 JavaEE 基础,对 JVM 内存结构有一定了解。
如无特殊说明,下文中的 JVM 都特指 HotSpot 虚拟机。
快速幂(Exponentiation by squaring)或称:平方求幂,是一种高效计算幂函数的算法。
其以O(logN)
的时间复杂度求任意乘方。
本质上,快速幂是分治思想的一种应用。
Spring 是 JavaWeb 技术中的核心框架,Spring 所延伸出的家族是 Java 帝国的中流砥柱,与 Java 的发展紧密相连。Spring 容器于对象的管理,即 Bean 的管理是 Spring 的极其重要的基础设施。本文将以理论、图解与代码结合的方式,循序渐进,试图讲清 Spring 对象管理的设计思路与 Java 帝国中原子公民"波澜壮阔"的一生。
Redis 是著名的跨平台 NoSQL 数据库,以其极高的性能和强大的数据结构支持闻名。本文将介绍支撑 Redis 高性能的原因之一:底层数据结构。一览数据结构之美。
本篇将涉及C语言,请确保您拥有C语言相关基础与计算机底层知识
ZooKeeper 是一个基于观察者模式设计分布式协调系统,起源于雅虎团队,名字源于内部项目大多由动物命名(Pig,Hive),所以分布式协调服务命名为 ZooKeeper(动物园管理者)。Zookeeper是一种解决分布式数据一致性的工具,它有 集群管理、主备选举、配置管理、分布式同步、分布式锁和分布式队列 等功能,是微服务协调管理举足轻重的中间件。本文将讲解 ZooKeeper 的设计哲学与理论基础。
Top
command is used to show the Linux process. It provides a dynamic real-time view of the system status.
Usually, the command shows the summary information of the system and the running processes or threads.
Here, I will explain how to use the command and interpret the information.