自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (8)
  • 收藏
  • 关注

原创 RocketMQ源码学习--消息存储篇

RocketMQ消息存储.

2017-02-19 17:13:16 10463 6

原创 ThreadLocal---原理解析

ThreadLocal的使用场景、原理和一些注意点.

2017-01-10 22:25:53 1058

原创 RocketMQ源码学习---网络通信篇

本文主要讨论了RocketMQ的源码实现细节

2017-01-02 14:17:50 3743 4

原创 RocketMQ源码调试环境搭建

序言之前实习的时候曾阅读过一些RocketMQ(MetaQ)的源码,当时只是debug了客户端代码,没有debug服务端(如:broker)的代码。网上的教程大多是安装教程,前几天赋闲在校,在本机上搭建好了RocketMQ的源码调试环境,也踩了几个坑,下面分享一下:环境(自己的笔记本,跟了我好几年了,性能快跟不上了)OS:Win8.1 IDE:intelij idea 内存:6G步骤一、安装好

2016-12-16 19:03:08 8976 6

原创 RocketMQ原理解读 NameServer篇(broker节点治理)

序言在来阿里实习之前,就对消息队列非常感兴趣,当时就翻看了RocketMQ的使用指南并在本地搭建环境跑了些demo。如今项目压力不太大,就准备趁着实习期间来细看RocketMQ的原理和源码实现.NameServer作用nameServer顾名思义,在系统中肯定是做命名服务,服务治理方面的工作,功能应该是和zookeeper差不多,据我了解,RocketMq的早期版本确实是使用的zookeeper,后

2016-09-23 12:58:22 14288 5

原创 MySQL执行计划理解与实践

SQL执行过程和优化器首先看一下MySQL中,一条sql的执行过程,这里主要是引用了《高性能MySQL》中的内容:1、客户端发送一条查询给服务器 2、服务器先检查查询缓存,如果命中缓存则立刻返回存储在缓存中的结果,否则进入下一阶段。 3、服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划。 4、MYSQL根据优化器生成的执行计划调用存储引擎的API来执行查询 5、将结果返回给客户端

2016-05-17 13:43:35 5571

原创 理解Java虚拟机

一、简介Java运行时,会将管理的内存划分成各个不同区域,每个区域的功能以及生命周期都不同。下面将大致介绍各个内存区域的作用。二、具体区域program counter register(程序计数器)可以看作是是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值进行跳转。显而易见的是程序计数器是线程私有的。 如果线程正在执行的是一个Java方法,计数器记录的则是正在

2016-03-23 15:03:41 473

原创 Linux :IO多路复用模型

一、IO多路复用定义IO多路复用允许应用在多个文件描述符上阻塞,并在某一个可以读写时通知, 一般遵循下面的设计原则:、IO多路复用:任何文件描述符准备好IO时进行通知在文件描述符就绪前进行睡眠。唤醒:哪个准备好了在不阻塞的情况下处理所有IO就绪的文件描述符返回第一步Linux下提供了三种IO多路复用方案,select、poll和epoll。二、select IO 多路复用看一下selec

2016-03-08 14:47:52 3290

原创 高性能Mysql:事务特性及实战

一、开篇简介事务的作用我就不再提及了, 相信看到这篇文章的基本上都会知道事务的概念。本篇文章首先会介绍一下事务的特性、四种隔离级别以及对应的实战测试,希望帮读者加深事务的理解。二、事务的ACID特性原子性(atomicity)一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部成功,要么全部失败一致性(consistency)数据库永远是从一个一致性状态转向另一个一致性状态

2016-03-07 19:32:50 1696

原创 分布式理论:ZAB协议

一、简介前面的博文介绍了2pc、3pc以及paxos,到了具体的工程实现中,分布式协议的实现并没有那么简单,很多时候需要做出一些取舍,下面介绍zookeeper的分布式一致性协议ZAB(ZooKeeper Atomic Broadcast ZooKeeper原子消息广播协议)。ZAB的核心处理方式所有事务请求必须由一个全局唯一的服务器来协调处理,这个服务器成为leader,其他称为follower,

2016-03-07 12:58:38 916

原创 高性能Mysql:B-TREE和B+-TREE

高性能Mysql:B-TREE和B+-TREE一、索引简介数据库中,索引对于查询来说至关重要。它就像书籍里的目录一样,能在磁盘页面中迅速找到所需要的记录,能够将查询性能提高好几个数量级。所以索引是应对查询性能最有效的手段。下面从原理的角度分析mysql的集中索引类型。二、B-TREE和B+-TREE的特点首先明确一点,mysql中的索引是存储引擎实现的,而不是在服务器层实现的,所以每种存储引擎的索引

2016-03-06 14:31:36 5874 1

原创 Java并发编程系列(一):Java并发内存模型

Java并发编程系列(一):Java内存模型基础一、进程间通信方式线程是借鉴了进程的工作方式,所以我们有必要先看一下进程间通信的方式。 1、管道:这个大家应该比较熟悉,这里主要是父子进程的通信。 2、有名管道:主要是给无亲缘关系的进程传递数据使用,Linux命令中也可以常常使用管道来进行数据的传递。 3、信号量:信号量由迪杰斯特拉提出,用一个整型变量来累积唤醒次数来控制多个进程对资源

2016-03-05 23:37:07 793

原创 Mysql limit 分页机制和优化实例

Mysql limit 常用于分页等操作,对于页面展示来说,一旦数据量上升,分页查询的性能问题就会非常需要关注,下面给出几种 limit性能分析和实例。

2016-03-05 18:02:55 5524

原创 Java源码分析:ConcurrentHashMap

上篇文章和大家分享了HashMap的源码,了解了HashMap的原理。和HashMap比较相似的有Hashtable,Hashtable的代码和HashMap大部分相似,关键的区别在于前者是线程安全的,后者线程不安全。Hashtable主要是对所有关于hash表的操作加锁来实现线程安全。

2016-03-05 14:59:28 503

原创 Java源码分析:HashMap

HashMap源码分析:1、分析了HashMap的基础数据结构 2、分析了HashMap的hash值计算方式 3、分析了HashMap的数据存储

2016-03-02 15:38:17 527

原创 Spring解析(一) IOC容器

本文介绍了IOC的基本原理和部分源码解析

2016-02-12 14:52:07 2021

转载 Paxos Made Simple【翻译】

Paxos一致性算法——分布式系统中的经典算法,论文本身也有一段有趣的故事。一致性问题是分布式系统的根本问题之一,在论文中,作者一步步的加强最初一致性问题(2.1节提出的问题)的约束条件,最终导出了一个可实现的一致性模型。当前Paxos算法的研究越来越多,相关实现也不少,而原论文依然是最不可少的资料。论文通篇没有一个数学公式,这是大牛的坚持!【】中的是我个人的注释。先解释文中几个关键词

2016-01-30 20:24:57 598

原创 分布式理论:2pc与3pc

分布式系统中,人们为了保障多个节点在进行全局事务操作的一致性,提出了很多分布式算法,其中比较著名的有二阶提交协议(Two Phase Commitment Protocol)、三阶提交协议(Three Phase Commitment Protocol)和Paxos算法,本文主要讲述2pc和3pc算法,paxos算法会留到下一篇博客中。

2016-01-16 20:53:41 3499 2

原创 zookeeper官档教程一(zookeeper数据模型)

zookeeper有一个高级的命名空间,像一个分布式文件系统,但是唯一区别在于空间中每个node都和它的子文件相关,就像任何一个文件都可以是一个文件夹。路径也是绝对路径,没有相对路径。同时有一些命名规则上有些unicode字符串不能用,比如. ..这种。ZNodes:zookeeper中每个节点都是一个znode,ZNodes维护了一个统计信息数据结构,其中包含了数据改变的版本号以

2016-01-03 00:58:45 2591

原创 JAVA的最小生成树(prim)算法

好久没更新博客了,由于离散数学的实践项目和SDN学习的需要,这次要学习一下图的最小生成树(PRIM)算法,PRIM算法的简介我这里就不COPY百度了。

2015-03-10 22:19:24 1275

原创 C语言数据结构(链表)单向链表的创建删除逆序

课程作业要求随机生成N个200以内的数,删除大于100的数bing

2014-11-12 20:36:07 711

原创 数据结构(二叉树系列)先序创建三种遍历和求深度(递归实现)

typedef struct BiTNode{ // 二叉树结点结构 char data; // 结点数据 struct BiTNode *lchild; // 左孩子 struct BiTNode *rchild; // 右孩子 }BiTNode,*BiTree; BiTree CreateBiTree(BiTree T);void TraversalBiTree1(BiTree T);void

2014-11-12 20:21:49 1501

原创 ORACLE SELECT INTO 注意事项 同时提供一种日期维表的建立方式

因为BI作业需要,我需要制作一个日期维表,

2014-08-18 23:07:06 1318

原创 LINUX下删除文件磁盘空间不释放的原因

这几天做LINUX实验的时候,发觉自己删除了一个大文件后用  df -h 指令

2014-08-03 22:26:21 9867 1

原创 关于LINUX下添加IP后重启网络服务后IP添加失效解决方案

今天是x

2014-07-31 22:48:11 8173

分布式SDN控制器实现报告

分布式SDN控制器实现报告,其中包含设计思想及具体实现

2016-03-09

开发至今搜集到的所有jar包

学JAVA开发存储的所有JAR包,包括三大框架,各类Json解析,数据库连接池,操作excel,矩阵运算,httpclient,jsoup,utlrewrite等等

2015-07-31

博客社交系统

自己写的第一个博客社交网站,完成了大部分功能,使用的是基础的servle,应该有一点参考价值

2015-07-09

spring3.2中文官方文档

spring的官方中文文档,内容齐全详细,比较实用

2015-07-09

C语言随机抽奖程序源码

实现输入任意个数字抽出任意个不同的数字 新手适用

2014-10-17

PHP小型用户注册登录验证查询系统

用PHP实现的用户注册 登录 查询系统,需要连接MYSQL数据库,查询暂未优化好,但可以给大家提供思路

2014-08-18

JS CSS 两本权威著作打包

学习前端的同志们必备的案头参考书籍,希望对大家有帮助

2014-08-18

Mysql性能调优与架构设计

该书介绍了MYSQL的存储过程,为性能调优打下基础,同时也提供了架构设计的案例,是深入MYSQL的好书

2014-08-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除