- 博客(20)
- 收藏
- 关注
原创 关于对zookeeper的理解
很不错的参考文章:https://www.cnblogs.com/crazylqy/p/7132133.html一.zab协议(支持崩溃恢复的原子广播协议)的作用保证zookeeper集群的分布式一致性(分为原子广播阶段的一致性和崩溃恢复的一致性)二.原子广播阶段1.leader给每个proposal分配一个zxid,发起proposal,放到给每个follower准备的队列2.foll...
2019-05-18 22:01:10
260
原创 volatile关键字
1.多核心cpu下线程并发会带来的三大问题:原子性/可见性/有序性2.原子性问题:i++操作不是原子性:lock、unlock、read、load、assign、use、store、 write(JMM8个指令可以解释)3.可见性问题:cpu为提高效率各自有自己的缓冲区L1和L2,对数据各自有各自的备份,每次更改玩数据不会立即写回主内存4.有序性问题:由于cpu对指令会进行优化(满足as...
2019-05-11 19:40:29
141
原创 HashSet、TreeSet、LinkedHashSet、HashMap、LinkedHashMap
1.实现Set接口,或者Set接口的子类2.无序、不重复3.TreeSet是SortedSet的唯一实现类,实现了经过排序的Set4.HashSet实现原理是里面维护了一个HashMap,每一个元素在插入HashSet的时候,会把元素作为key,静态变量Object object = new Object()作为value插入hashMap,所以hashSet其实就是hashMap5.Tr...
2019-04-18 10:47:09
170
原创 LinkedHashMap如何维护元素插入顺序的
插入元素的时候,通过重写HashMap的newNode方法,创建自己元素节点Entry(继承HashMap的Node节点,并且每个Entry维护了前一个元素引用以及后一个元素引用)...
2019-04-18 10:16:44
2283
原创 java对象生命周期
Java对象的生命周期 在Java中,对象的生命周期包含下面几个阶段:1. 创建阶段(Created)2. 应用阶段(In Use)3. &nb...
2019-04-16 10:46:23
247
转载 初识kafka
1 概述Kakfa起初是由LinkedIn公司开发的一个分布式的消息系统,后成为Apache的一部分,它使用Scala编写,以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark等都支持与Kafka集成。Kafka凭借着自身的优势,越来越受到互联网企业的青睐,唯品会也采用Kafka作为其内部核心消息引擎之一。Kafka作为一...
2019-01-28 16:39:34
213
转载 Rocchio算法
向量空间模型的思想是把文档简化为特征项的权重为分量的向量表示,其中选取词作为特征项,权重用词频表示。 其主要用的是TF-IDF算法来计算:TF(词频)是一个词语出现的次数除以该文件的总词语数。IDF(文件频率)的方法是测定有多少文件出现过某个词,然后除以文件集里的文件数。注意这里IDF用的是逆向文件频率,即假如“汽车”一词在100份文件中出现过,总文件数是10000份,这时的逆向文件频率为log...
2019-01-21 11:26:19
983
转载 TCP的滑动窗口机制
TCP的滑动窗口机制 TCP这个协议是网络中使用的比较广泛,他是一个面向连接的可靠的传输协议。既然是一个可靠的传输协议就需要对数据进行确认。TCP协议里窗口机制有2种:一种是固定的窗口大小;一种是滑动的窗口。这个窗口大小就是我们一次传输几个数据。对所有数据帧按顺序赋予编号,发送方在发送过程中始终保持着一个发送窗口,只有落在发送窗口内的帧才允许被发...
2019-01-21 10:36:26
210
转载 rabbitmq安装
安装erlang1、访问官网下载地址https://www.erlang-solutions.com/resources/download.html下载最新安装包wget https://packages.erlang-solutions.com/erlang/esl-erlang/FLAVOUR_1_general/esl...
2019-01-10 11:23:36
162
转载 tcp滑动窗口
tcp窗口滑动以及拥塞控制TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现。一、滑动窗口协议 关于这部分自己不晓得怎么叙述才好,因为理解的部分更多,下面就用自己的理解来介绍下TCP的精髓:滑动窗口协议。 所谓滑动窗口协议,自...
2018-12-26 09:30:09
140
转载 zab协议
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/u013679744/article/details/79240249 在前一篇中,写了Zookeeper的相关概念,以及节点、acl,watcher等机制,这一篇就写一下保证ZK集群高可用及数据一致性的底层实现算法:ZAB协议。ZAB协议概述在前面的文章中,介绍了经典的分布式数据...
2018-12-24 17:47:23
208
转载 zab协议理解
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/junchenbb0430/article/details/77583955 </div> <div id="content_views" class="markdown_views prism-atom...
2018-12-21 16:15:44
167
转载 snow-flake leaf方案
背景在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在美团点评的金融、支付、餐饮、酒店、猫眼电影等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求;特别一点的如订单、骑手、优惠券也都需要有唯一ID做标识。此时一个能够生成全局唯一...
2018-12-18 10:39:11
645
转载 临时表和内存表
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/qq_41376740/article/details/79393943 前景mysql三种虚拟表 临时表内存表视图临时表简介:临时表是建立在系统临时...
2018-12-12 16:20:42
541
转载 偏向锁、轻量级锁、重量级锁
之前做过一个测试,详情见这篇文章《多线程 +1操作的几种实现方式,及效率对比》,当时对这个测试结果很疑惑,反复执行过多次,发现结果是一样的: 1. 单线程下synchronized效率最高(当时感觉它的效率应该是最差才对); 2. AtomicInteger效率最不稳定,不同并发情况下表现不一样:短时间低并发下,效率比synchronized高,有时甚至比LongAdder还高出一点,但是...
2018-12-07 10:22:59
224
转载 MySQL的binlog日志
binlog 基本认识MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。二进制有两个最重要的使用场景:其一:MySQL Replication在Master端...
2018-12-06 19:35:35
113
转载 linux系统结构
带你真正认识Linux 系统结构 Linux系统技术交流QQ群(3859061)验证问题答案:刘遄 导读Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。1. linux内核内核是操作系统的核心,具有很多最基本功能...
2018-11-21 12:41:23
214
原创 TCP三次握手四次挥手
TCP三次握手四次挥手详解相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助.而且对于有网络协议工程师之类笔试,几乎是必考的内容.企业对这个问题热情之高,出乎我的意料:-)。有时上午面试前强调这个问题,并重复讲一次,下午几乎每一个人都被问到这个问题。因此在这里详细解释一下这两个过程...
2018-11-14 14:56:55
160
原创 nginx反向代理原理
最近有打算研读nginx源代码,看到网上介绍nginx可以作为一个反向代理服务器完成负载均衡。所以搜罗了一些关于反向代理服务器的内容,整理综合。 一 概述 &nbs
2018-11-14 11:38:45
266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人