- 博客(170)
- 资源 (20)
- 收藏
- 关注
原创 MySQL之索引树实现
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]为什么MySQL的InnoDB中的索引要使用B+树,而不是其它树?比如B树?一、提出点InnoDB的一棵B+树可以存放多少行数据?答案:约2千万怎么计算出来的?先从InnoDB索引数据结构、数据组织、索引实现方式说起。二、InnoDB存储引擎储...
2019-11-04 03:26:08
13092
原创 核心原理-Println
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]本文主要通过平常常用的go的一个函数,深入源码,了解其底层到底是如何实现的。PrintlnPrintln函数接受参数a,其类型为…interface{}。用过Java的对这个应该比较熟悉,Java中也有…的用法。其作用是传入可变的参数,而inte...
2019-10-25 03:37:47
13269
原创 核心原理-协程栈
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]###什么是协程栈每个协程都需要有自己的栈空间,来存放变量,函数,寄存器等信息。所以系统需要给协程分配足够的栈空间。栈分配方式固定大小的栈每个协程都有相同的,固定大小的栈。优点:实现简单;缺点:每个协程需要的栈空间不尽相同,如果一概而论,那...
2019-10-25 03:37:47
13303
原创 什么是Raft
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]背景理解分布式多个参与者 针对 某一件事 达成完全 一致 :一件事,一个结论已达成一致的结论,不可推翻分布式共识算法Paxos:被认为是分布式共识算法的根本,其他都是其变种,但是 Paxos 论文中只给出了单个提案的过程,并没有给出复制...
2019-03-15 02:09:55
13254
原创 分布式系统的一致性
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]背景随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。主要介绍分布式一致性...
2019-03-15 02:09:55
13334
原创 dubbo之9种rpc协议
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]背景只要涉及通信(大多数是进程通信)就需要通信协议,那么可能要将我们眼里的对象(字符流)按照一定的协议进行字节流通信;那么作为有名rpc框架之一dubbo 支持的rpc协议是支持多种配置的;Dubbo支持dubbo、rmi、hessian、htt...
2019-03-14 04:41:37
13777
原创 Thread Local的原理与适用场景
本文章来源于:<https://github.com/Zeb-D/my-review> ,请star 强力支持,你的支持,就是我的动力。Thread Local 的原理与实现方法,并分析了其适用场景。http://www.jasongj.com/java/threadlocal/https://juejin.im/post/5c805cb9f265da2d9e177f6d...
2019-03-14 04:41:37
13013
原创 kafka之写入一致性分析
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]背景对于Kafka这方面的集群了解越发迷茫,结合Kafka 高并发写入数据,自己心里有个疑问:kafka的集群是怎么架构的,分布式存储是什么样的?等等自己会默默的比对一下其它中间件在 集群方面的一致性方面的处理,如ZK的ZAB协议集群内数据一致性的...
2019-03-14 04:41:37
13228
原创 kafka之高并发写入分析
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]背景基于上篇文章消息队列之主要MQ熟悉,这篇文章主要围绕当前主流MQ中间件的业务技术选型;对于kafka,我们一般会用于大批量数据处理如日志上报等,我们也了解过kafka数据流向图,这里将的是生产者如何往Kafka broker丢数据;此时我们可...
2019-03-13 15:59:54
13034
原创 java中Hashtable分析
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]Hashtable注意是Hashtable不是HashTable(t为小写),这不是违背了驼峰定理了嘛?这还得从Hashtable的出生说起,Hashtable是在Java1.0的时候创建的,而集合的统一规范命名是在后来的Java2开始约定的,而当时...
2019-03-10 14:10:37
13153
原创 Java7-8下的HashMap与ConcurrentHashMap
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]Java7/8 下 HashMap 与 ConcurrentHashMap网上关于 HashMap 和 ConcurrentHashMap 的文章确实不少,不过有很多没那么全面,自己也写一篇,把细节说清楚说透,尤其像 Java8 中的 Concurr...
2019-03-10 14:10:37
12966
原创 Nginx之集群Proxy
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]背景如今分布式、微服务各种名词兴起与尝试,但这其中带来的各种治理是非常痛苦的;特别是用户群体的暴增,导致服务端与各种中间件的IO链接数不够,虽然我们服务加了节点,但是存储方面如mongdb 经常会在某些时候,导致我们线上服务经常报数据源不够;经过...
2019-03-09 14:33:09
13218
原创 redis之集群运维总结
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]序本篇文章只在总结平时线上关于redis发生一些有趣的事情总结,不单单是当前公司,也可是个人与别人交流过权且记录;阅读本篇文章前,你可能需要了解一些关于 redis 集群原理,一些redis备份方式等一些知识;背景比较流行的 Nosql 技术之...
2019-03-09 14:33:09
13169
原创 Redis之集群原理分析
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]提问对于另外一个进程提供的服务,我们如何进行保证这个进程一直提供着是我们期望的服务 即高可用,在高可用的基础上如何保证高并发呢?对于来说Redis 来说,你除了知道redis能做什么,一些基本的api认识,还顺便摸透了一些基本使用及优化,那么接下来...
2019-03-09 14:33:09
13069
原创 Redis基础、高级使用、调优
[TOC]本文将从Redis的基本特性入手,通过讲述Redis的数据结构和主要命令对Redis的基本能力进行直观介绍。之后概览Redis提供的高级能力,并在部署、维护、性能调优等多个方面进行更深入的介绍和指导。本文适合使用Redis的普通开发人员,以及对Redis进行选型、架构设计和性能调优的架构设计人员。目录概述Redis的数据结构和相关常用命令数据持久化内存管理与数据淘汰机制...
2019-03-09 14:33:09
13107
原创 负载均衡之入门解释
负载均衡之入门解释参考链接:https://juejin.im/post/5b39eea0e51d4558c1010e36概念负载均衡是高可用架构的一个关键组件,主要用来提高性能和可用性,通过负载均衡将流量分发到多个服务器,同时多服务器能够消除这部分的单点故障。这部分的单点故障可以通过引入负载均衡器和至少另一个Web Server来缓解。一般来说所有后端服务器会提供相同的内容,以便用户无...
2019-03-09 14:33:09
13084
原创 sql之练习题
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]基本表结构:student(sno,sname,sage,ssex)学生表course(cno,cname,tno) 课程表sc(sno,cno,score) 成绩表teacher(tno,tname) 教师表1、查询课程1的成绩比课程2的...
2019-03-05 15:50:35
13045
原创 MySQL之MYISAM和INODB
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]Mysql之MYISAM、INODB的区别MySQL存储引擎背景:数据库中的存储引擎其实是对使用了该引擎的表进行某种设置,数据库中的表设定了什么存储引擎,那么该表在数据存储方式、数据更新方式、数据查询性能以及是否支持索引等方面就会有不同的“效果”。...
2019-03-05 15:50:35
13118
原创 MySQL之基本常识
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]存储过程优点:能够将代码封装起来保存在数据库之中让编程语言进行调用存储过程是一个预编译的代码块,执行效率比较高一个存储过程替代大量T_SQL语句 ,可以降低网络通信量,提高通信速率缺点:每个数据库的存储过程语法几乎都不一样,十分难...
2019-03-05 15:50:35
13055
原创 设计模式六大设计原则
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]单一职责原则单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小。单一职责原则定义如下:单一职责原则(Single Responsibility Principle, SRP):一个类只负责一个功能领域中的相应职责,或者可以定义为:就一...
2019-03-05 03:53:05
13106
原创 消息队列之主要MQ熟悉
分布式之消息队列复习[TOC]复习要点本文大概围绕如下几点进行阐述:为什么使用消息队列?使用消息队列有什么缺点?消息队列如何选型?如何保证消息队列是高可用的?如何保证消息不被重复消费?如何保证消费的可靠性传输?如何保证消息的顺序性?我们围绕以上七点进行阐述。需要说明一下,本文不是《消息队列从入门到精通》这种课程,因此只是提供一个复习思路,而不是去教你们怎么调用消息队列的A...
2019-03-05 01:55:18
13054
原创 Java集合类中的Iterator和ListIterator的区别
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。Java之集合遍历器分析最近看到集合类,知道凡是实现了Collection接口的集合类,都有一个Iterator方法,用于返回一个实现了Iterator接口的对象,用于遍历集合;(Iterator接口定义了3个方法分别是hasNext(),next(),remo...
2019-03-04 15:45:17
13013
原创 Eureka和Zookeeper比较
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]平时经常用到的服务发现的产品进行下特性的对比,首先看下结论:FeatureConsulzookeeperetcdeuerka服务健康检查服务状态,内存,硬盘等(弱)长连接,keepalive连接心跳可配支持多数据...
2019-02-22 11:21:42
13083
原创 JVM之final分析
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]背景使用 final 方法的原因有两个。第一个原因是把方法、属性、类锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的Java实现版本中,会将final方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升。在最...
2019-01-29 01:30:15
13373
原创 ZAB协议
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。##ZAB协议介绍ZAB ( ZooKeeper Atomic Broadcast , ZooKeeper 原子消息广播协议)是zookeeper数据一致性的核心算法。ZAB 协议并不像 Paxos 算法那样,是一种通用的分布式一致性算法,它是一种特别为 Zo...
2019-01-29 01:30:15
13058
原创 ZAB与Paxos
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]背景学习了一些分布式理论,特别是一些围绕着cap理论的三大特性的算法,重点学习了zk上的ZAB协议和少数服从多数算法PAXOS算法,当然还有其它算法不在这里讨论如raft,包括数据一致性算法如Quorum 和Clock 算法 接下来初步总结下ZAB...
2019-01-29 01:30:15
13215
原创 什么是PAXOS
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]背景下面介绍Paxos 协议,它是一个比两阶段提交要轻量的保证一致性的协议。在分布式系统中,节点之间的信息交换有两种方式,一种是通过共享内存共用一份数据;另一种是通过消息投递来完成信息的传递。而在分布式系统中,通过消息投递的方式会遇到很多意外...
2019-01-29 01:30:15
13146
原创 Redis之Vs Memcached
面试官会问问你 redis 和 memcached 的区别,但是 memcached 是早些年各大互联网公司常用的缓存方案,但是现在近几年基本都是 redis,没什么公司用 memcached 了。redis 和 memcached 有啥区别?redis 支持复杂的数据结构redis 相比 memcached 来说,拥有更多的数据结构,能支持更丰富的数据操作。如果需要缓存能够支持更复杂的结构...
2019-01-29 01:30:15
13244
原创 集群内数据一致性的算法
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]集群内数据一致性算法关于集群内数据的一致性我们通过Quorum 和Clock 算法来具体讲解一下,亚马逊Dynamo 的论文中对Quorum 和Clock 有比较详细的介绍。Quorum先来看Quorum ,它是用来权衡分布式系统中数据一致性和...
2019-01-29 01:30:15
13397
原创 搜索引擎选择:Elasticsearch与Solr
Solr vs. ElasticsearchApache SolrApache Solr基于业界大名鼎鼎的java开源搜索引擎Lucene,Lucene更多的是一个软件包,还不能称之为搜索引擎,而solr则完成对lucene的封装,是一个真正意义上的搜索引擎框架。在过去的十年里,solr发展壮大,拥有广泛的用户群体。solr提供分布式索引、分片、副本集、负载均衡和自动故障转移和恢复功能。如果...
2019-01-29 01:30:15
13074
原创 redis持久化方式
redis两种持久化方式的优缺点redis两种持久化的方式RDB持久化可以在指定的时间间隔内生成数据集的时间点快照AOF持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集,AOF文件中全部以redis协议的格式来保存,新命令会被追加到文件的末尾,redis还可以在后台对AOF文件进行重写,文件的体积不会超出保存数据集状态所需要的实际大小,r...
2019-01-22 12:15:18
12994
原创 Redis之redis能干什么
最近阅读了《redis设计与实现》,这是一本比较枯燥的书,毕竟涉及到redis底层数据结构。我写本文章的目的,主要围绕redis设计与实现这本书整体的一个印象,然后梳理了这次思路:为什么要选择Redis:介绍Redis的使用场景与使用Redis的原因;Redis常用命令总结:包括时间复杂度总结与具体数据类型在Redis内部使用的数据结构;Redis的高级功能:包括持久化、复制、哨兵、集群介...
2019-01-22 12:15:18
13194
原创 ElasticSearch之查询性能分析
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]提问面对着这么一个庞然大物,我们除了代码API写的六、知道一些ElasticSearch入门介绍外,有时候我这个人挺会怀疑我自己用到别人的代码或者框架,但是自己又写不出来,没办法只好啃源码。说白了,任何程序运行要如何达到你期待的效果,这是一个漫长的...
2019-01-18 06:30:51
13405
原创 ElasticSearch之插入原理分析
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]提问为什么es在查询的时候,流程是这么相对简单些,因为查询的时候这数据基本是按照某种顺序存放的,所以在插入的时候会相对复杂些;es 写入数据的工作原理是什么?es 查询数据的工作原理是什么?见上片文章底层的 lucene 是什么?倒排索引了...
2019-01-18 06:30:51
13231
原创 ElasticSearch之入门解释
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]可能我们道听旁听过或使用过ElasticSearch ,我们可能对ES的使用api非常熟悉,但我们对这个ES这个黑盒知多少呢?背景在搜索这块,lucene 是最流行的搜索库。几年前业内一般都问,你了解 lucene 吗?你知道倒排索引的原理吗?现在...
2019-01-09 05:03:33
13150
原创 awk 入门指南
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]背景awk是处理文本文件的一个应用程序,几乎所有 Linux 系统都自带这个程序。它依次处理文件的每一行,并读取里面的每一个字段。对于日志、CSV 那样的每行格式相同的文本文件,awk可能是最方便的工具。awk其实不仅仅是工具软件,还是一种编程语...
2019-01-08 05:09:29
13646
原创 JVM之synchronized深入分析
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]synchronizedJVM 是通过进入和退出对象监视器来实现同步的。Java 中的每一个对象都可以作为锁。对于普通同步方法,锁是当前实例对象对于静态同步方法,锁是当前类的Class对象对于同步代码块,锁是synchronized括号里配置...
2019-01-07 01:51:35
13067
原创 JVM之内存模型与与内存屏障
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]背景在jvm的世界里,是什么导致了并发编程的困难,或者我们总是会去关注性能与安全?java并发编程,你要掌握它就必须知道通常有几个关键的点:线程之间如何通信线程之间如何同步线程可以说是并发活动的实体,而通信、同步则是它们的活动,就比如...
2019-01-07 01:51:35
13128
原创 查看服务器性能负载之命令
查看服务器性能负载的常用工具下面对查看服务器性能负载的常用工具做简单介绍,详细的工具使用请另行查阅。1、查看CPU的性能负载a)uptime用于观察服务器整体负载,系统负载指运行队列(1分钟、5分钟、15分钟前)的平均长度, 正常情况需要小于cpu个数。b)vmstatvmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程...
2018-12-29 06:09:27
13539
原创 StampedLock 深入分析
本文章来源于:https://github.com/Zeb-D/my-review ,请star 强力支持,你的支持,就是我的动力。[TOC]背景自从看了AQS相关的类后,特别看了ReentrantReadWriteLock源码后,都感受到自己在并发编程越发迷茫,回归正传吧,看了ReentrantReadWriteLock源码给我的感受:使得多个读线程同时持有读锁(只要写锁未被占用),而...
2018-12-18 12:54:47
13209
MySQL技术内幕(第4版).pdf
2017-10-11
http征求意见文档2616 英文版
2017-09-30
HTTP权威指南高清中文版.pdf
2017-09-30
Redis实战-带目录完整版.pdf
2017-09-05
Jsp/Servlet3.0 ppt和代码
2017-06-30
Maven-hibernate4
2017-05-26
Java设计模式-详细代码
2017-05-23
maven-nexus-oss-webapp-1.7.2-bundle.rar
2017-04-27
SSH框架整合需要的Jar包
2016-08-23
数据结构-清华大学严蔚敏PPT.
2014-09-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅