摘要:
三次握手 TCP连接是通过三次握手来连接的。 第一次握手 当客户端向服务器发起连接请求时,客户端会发送同步序列标号SYN到服务器,在这里我们设SYN为m,等待服务器确认,这时客户端的状态为SYN_SENT。 第二次握手 当服务器收到客户端发送的SYN后,服务器要做的是确认客户端发送过来的SYN,在这 阅读全文
posted @ 2018-01-07 22:31
Andy奥
阅读(447)
评论(0)
推荐(0)
摘要:
一、分布式数据一致性 在分布式系统中,为了保证数据的高可用,通常会将数据保留多个副本(replica),这些副本会放置在不同的物理的机器上。 (1)什么是数据一致性 在数据有多份副本的情况下,如果网络、服务器或者软件出现故障,会导致部分副本写入成功,部分副本写入失败。这就造成各个副本之间的数据不一致 阅读全文
posted @ 2018-01-07 15:07
Andy奥
阅读(49768)
评论(5)
推荐(2)
摘要:
本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,并讨论一些如虚拟节点等与此算法应用相关的话题。 阅读全文
posted @ 2018-01-07 14:39
Andy奥
阅读(851)
评论(0)
推荐(1)
摘要:
Java类初始化的顺序经常让人犯迷糊,现在本文尝试着从JVM的角度,对Java非继承和继承关系中类的初始化顺序进行试验,尝试给出JVM角度的解释。 非继承关系中的初始化顺序 对于非继承关系,主类InitialOrderWithoutExtend中包含了静态成员变量(类变量)SampleClass 类 阅读全文
posted @ 2018-01-07 14:12
Andy奥
阅读(657)
评论(0)
推荐(2)
摘要:
本文是基于周志明的《深入理解Java虚拟机》 垃圾收集算法 Java 语言的一大特点就是可以进行自动垃圾回收处理,而无需开发人员过于关注系统资源,例如内存资源的释放情况。自动垃圾收集虽然大大减轻了开发人员的工作量,但是也增加了软件系统的负担。 由于垃圾收集算法的实现涉及大量的程序细节,而且各个平台的 阅读全文
posted @ 2018-01-07 13:51
Andy奥
阅读(210)
评论(0)
推荐(0)
摘要:
一、jvm堆内存的分代划分 在基于分代的内存回收策略中,堆空间通常都被划分为3个代,年轻代,年老代(或者tenured代),永久代。在年轻代中又被划分了三个小的区域,分别为:Eden(伊甸)区,S0区(survivor 0),S1区(survivor 1),如下图所示: 其中,新的对象总被分配到年经 阅读全文
posted @ 2018-01-07 13:41
Andy奥
阅读(484)
评论(0)
推荐(0)
浙公网安备 33010602011771号