天空之城
10
16
java容器-堆和优先队列 java容器-堆和优先队列
今天介绍一些java内的容器-堆和优先队列,有些容器会在后续案例中更详细介绍 堆 是完全二叉树,给定任意一个节点,可以根据其编号直接快速计算出其父节点和孩子节点编号 根据顺序分为两种堆:一种是最大堆,另一种是最小堆 可以实现优先级队列,解决
2019-10-16
15
java容器-Map和Set java容器-Map和Set
今天介绍一些java内的容器-Map和Set,有些容器会在后续案例中更详细介绍 Map HashMap 实现map接口, key value键值对 内部实例变量size表示实际键值对的个数。table是一个Entry类型的数组,称为哈希表或
2019-10-15
13
分布式系统中的一些设计策略 分布式系统中的一些设计策略
今天介绍分布式系统下的一些通用的设计策略 心跳检测 多个节点分担任务的运行、计算或者程序逻辑处理,需要检测一个节点出现了故障乃至无法工作 可使用周期检测心跳机制、累计失效检测机制 周期检测心跳机制:Server端每间隔t秒向Node集群发起
08
15
mysql-innodb存储引擎中的锁 mysql-innodb存储引擎中的锁
今天介绍下mysql innodb中的锁 锁类型介绍(行级锁) 共享锁(S):允许事务读一行数据 排他锁(X):允许事务删除或更新一行数据 如果一个事务T1已经获得了行r的共享锁,那么另外的事务T2可以立即获得行r的共享锁,因为读取并没有改
2019-08-15
07
19
qmq消息队列-架构学习 qmq消息队列-架构学习
今天分享下qmq的架构 组件介绍 meta server: 提供集群管理和集群发现的作用 server: 提供实时消息服务 delay server: 提供延时/定时消息服务,延时消息先在delay server排队,时间到之后再发送给se
2019-07-19
12
缓存策略-缓存算法介绍 缓存策略-缓存算法介绍
今天介绍下缓存算法 FIFO算法 进先出(FIFO,队列),是最简单、最公平的一种思想,即如果一个数据是最先进入的,那么可以认为在将来它被访问的可能性很小。空间满的时候,最先进入的数据会被最早置换(淘汰)掉 实现:维护一个FIFO队列,按照
2019-07-12
07
mysql-数据库隔离级别 mysql-数据库隔离级别
介绍下数据库隔离级别以及各隔离下的问题,以及mysql的默认隔离级别 隔离级别 Serializable:串行化 强制事务排序,串行化读写,避免冲突 Repeatable read:可重复读 同一事务的多个实例在并发读取事务时,会“看到
2019-07-07
06
19
qmq消息队列-高可用 qmq消息队列-高可用
今天分享下qmq高可用的特性 高可用说明qmq高可用主要从两个角度提供: 分片:qmq不是基于partition,可以很容易通过添加更多的记起提高一个subject的可用性,消息按照一定的负载均衡策略分布在不同的机器上,某台机器离线后pr
2019-06-19
18
elasticsearch学习系列-乐观并发控制 elasticsearch学习系列-乐观并发控制
今天介绍下elasticsearch中的乐观并发控制机制 并发控制 并发控制分为悲观的和乐观的,对应有我们的乐观锁和悲观锁。 悲观锁假设冲突随时发生,在处理前必须获得排他的锁再处理 乐观锁则认为不存在冲突,先处理,若最后发现在处理过程中发生
2019-06-18
13
分布式系统理论介绍 分布式系统理论介绍
本文介绍关于分布式系统的一些理论,后续还会涉及到 CAP理论 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否有同样的值。(等同于所有节点访问同一份最新的数据副本 可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端
2 / 6