<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cheng911215的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cheng911215</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cheng911215]]></copyright><item><title><![CDATA[zookeeper系列之通信模型]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/40076923</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/40076923</guid><author>cheng911215</author><pubDate>Tue, 14 Oct 2014 14:52:31 +0800</pubDate><description><![CDATA[本文的主题就是讲解Zookeeper通信模型，本节将通过一个概要图来说明Zookeeper的通信模型。

 

 

Zookeeper的通信架构

在Zookeeper整个系统中，有3中角色的服务，client、Follower、leader。其中client负责发起应用的请求，Follower接受client发起的请求，参与事务的确认过程，在leader crash后的lead]]></description><category></category></item><item><title><![CDATA[Zookeeper全解析——Client端]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/40076911</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/40076911</guid><author>cheng911215</author><pubDate>Tue, 14 Oct 2014 14:52:01 +0800</pubDate><description><![CDATA[Zookeeper的Client直接与用户打交道，是我们使用Zookeeper的interface。了解ZK Client的结构和工作原理有利于我们合理的使用ZK，并能在使用中更早的发现问题。本文将在研究源码的技术上讲述ZK Client的工作原理及内部工作机制。

在看完ZK Client的大致架构以后我希望能有一种简单的方式描述ZK Client的基本结构，想来想去我觉得还是图片比较能反映]]></description><category></category></item><item><title><![CDATA[Zookeeper全解析——Paxos作为灵魂]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/40076903</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/40076903</guid><author>cheng911215</author><pubDate>Tue, 14 Oct 2014 14:51:17 +0800</pubDate><description><![CDATA[原计划在介绍完ZK Client之后就着手ZK Server的介绍，但是发现ZK Server所包含的内容实在太多，并不是简简单单一篇Blog就能搞定的。于是决定从基础搞起比较好。

那么ZK Server最基础的东西是什么呢？我想应该是Paxos了。所以本文会介绍Paxos以及它在ZK Server中对应的实现。

先说Paxos，它是一个基于消息传递的一致性算法，Leslie Lamp]]></description><category></category></item><item><title><![CDATA[zookeeper api]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/40076893</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/40076893</guid><author>cheng911215</author><pubDate>Tue, 14 Oct 2014 14:50:37 +0800</pubDate><description><![CDATA[常用接口列表

客户端要连接 Zookeeper 服务器可以通过创建 org.apache.zookeeper. ZooKeeper 的一个实例对象，然后调用这个类提供的接口来和服务器交互。

前面说了 ZooKeeper 主要是用来维护和监控一个目录节点树中存储的数据的状态，所有我们能够操作 ZooKeeper 的也和操作目录节点树大体一样，如创建一个目录节点，给某个目录节点设置数据，获]]></description><category></category></item><item><title><![CDATA[zookeeper程序员指南]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/40076877</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/40076877</guid><author>cheng911215</author><pubDate>Tue, 14 Oct 2014 14:49:53 +0800</pubDate><description><![CDATA[本文是为想要创建使用ZooKeeper协调服务优势的分布式应用的开发者准备的。本文包含理论信息和实践信息。

本指南的前四节对各种ZooKeeper概念进行较高层次的讨论。这些概念对于理解ZooKeeper是如何工作的，以及如何使用ZooKeeper来进行工作都是必要的。这几节没有代码，但却要求读者对分布式计算相关的问题较为熟悉。这四节是：

l         ZooKeeper数据模型]]></description><category></category></item><item><title><![CDATA[ZooKeeper典型应用场景]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/40076851</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/40076851</guid><author>cheng911215</author><pubDate>Tue, 14 Oct 2014 14:48:02 +0800</pubDate><description><![CDATA[ZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现，使该框架保证了分布式环境中数据的强一致性，也正是基于这样的特性，使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍，本文将结合作者身边的项目例子，系统地对ZK的应用场景进行一个分门归类的介绍。

值得注意的是，ZK并非天生就是为这些应用场景设计的，都是后来众多开发者根据其框架的特性]]></description><category></category></item><item><title><![CDATA[部署管理zookeeper]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/40076839</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/40076839</guid><author>cheng911215</author><pubDate>Tue, 14 Oct 2014 14:47:21 +0800</pubDate><description><![CDATA[1.1系统环境

1.1.1平台支持




平 台


运行client


运行server


开发环境


生产环境




GNU/Linux


√


√


√


√




Sun Solaris


√


√


√


√




FreeBSD


]]></description><category></category></item><item><title><![CDATA[Zookeeper原理]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/40075339</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/40075339</guid><author>cheng911215</author><pubDate>Tue, 14 Oct 2014 13:05:35 +0800</pubDate><description><![CDATA[ZooKeeper是一个分布式的，开放源码的分布式应用程序协调服务，它包含一个简单的原语集，分布式应用程序可以基于它实现同步服务，配置维护和命名服务等。Zookeeper是hadoop的一个子项目，其发展历程无需赘述。在分布式应用中，由于工程师不能很好地使用锁机制，以及基于消息的协调机制不适合在某些应用中使用，因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee]]></description><category></category></item><item><title><![CDATA[byte]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/40075163</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/40075163</guid><author>cheng911215</author><pubDate>Tue, 14 Oct 2014 12:46:27 +0800</pubDate><description><![CDATA[最近因为在做金融项目，里面对byte的操作要求比较多，所以在这里整理了一下关于Java中的byte类型。


Java虚拟机中没有byte类型
恩。。。怎么说呢，个人感觉这个说法有点儿唬人的意思。的确，当这个想法刚刚出现在我的脑海中的时候我觉得也有些胡扯，毕竟byte类型就在那里，怎么能说Java虚拟机中没有byte类型呢？

好吧，我来稍稍的解释一下。Java虚拟机对基本类型的操作基]]></description><category></category></item><item><title><![CDATA[hbase-zookeeper]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/40075155</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/40075155</guid><author>cheng911215</author><pubDate>Tue, 14 Oct 2014 12:43:25 +0800</pubDate><description><![CDATA[Zookeeper为HBase提供了稳定服务和failover机制。

 

-ROOT- && .META. Table

HBase中有两张特殊的Table，-ROOT-和.META.

Ø  .META.：记录了用户表的Region信息，.META.可以有多个regoin

Ø  -ROOT-：记录了.META.表的Region信息，-ROOT-只有一个region
]]></description><category></category></item><item><title><![CDATA[HBase框架]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/40075145</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/40075145</guid><author>cheng911215</author><pubDate>Tue, 14 Oct 2014 12:42:33 +0800</pubDate><description><![CDATA[1. HBase有哪些基本的特征？

HBase是类似于google的bigtable的开源实现，拥有以下特征：

1）. 在HDFS之上

2）. 基于列存储的分布式数据库

3）. 用于实时地读、写大规模数据集

其他HBase的特性： 

1）.没有真正的索引，行顺序存储，也没有所谓的索引膨胀问题。

2） 自动分区，表增长时，自动分区到新的节点上。

3） ]]></description><category></category></item><item><title><![CDATA[svn linux命令]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/39227291</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/39227291</guid><author>cheng911215</author><pubDate>Fri, 12 Sep 2014 11:03:09 +0800</pubDate><description><![CDATA[1、将文件checkout到本地目录

svn checkout path（path是服务器上的目录）
例如：svn checkout svn://192.168.1.1/pro/domain
简写：svn co

2、往版本库中添加新的文件

svn add file
例如：svn add test.php(添加test.php)
svn add *.php(添加当前目录下所]]></description><category></category></item><item><title><![CDATA[dos 批处理命令]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/39226121</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/39226121</guid><author>cheng911215</author><pubDate>Fri, 12 Sep 2014 09:55:19 +0800</pubDate><description><![CDATA[1.Echo 命令
打开回显或关闭请求回显功能，或显示消息。如果没有任何参数，echo 命令将显示当前回显设置。
语法
echo [{on|off}] [message]
Sample篅echo off / echo hello world
在实际应用中我们会把这条命令和重定向符号（也称为管道符号，一般用> >> ^）结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。

2.@]]></description><category></category></item><item><title><![CDATA[java transient简介]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/39048395</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/39048395</guid><author>cheng911215</author><pubDate>Thu, 04 Sep 2014 09:49:14 +0800</pubDate><description><![CDATA[我们都知道一个对象只要实现了Serilizable接口，这个对象就可以被序列化，java的这种序列化模式为开发者提供了很多便利，我们可以不必关系具体序列化的过程，只要这个类实现了Serilizable接口，这个的所有属性和方法都会自动序列化。

       然而在实际开发过程中，我们常常会遇到这样的问题，这个类的有些属性需要序列化，而其他属性不需要被序列化，诚然，你可以让这个类来实现Exte]]></description><category></category></item><item><title><![CDATA[java.util.regex]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/39031691</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/39031691</guid><author>cheng911215</author><pubDate>Wed, 03 Sep 2014 19:30:04 +0800</pubDate><description><![CDATA[java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 
它包括两个类：Pattern和Matcher 。

Pattern： 一个Pattern是一个正则表达式经编译后的表现模式。 

Matcher： 一个Matcher对象是一个状态机器，它依据Pattern对象做为匹配模式对字符串展开匹配检查。

首先一个Pattern实例订制了一个所用语]]></description><category></category></item><item><title><![CDATA[JAVA从jar包中读取资源文件]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/39028209</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/39028209</guid><author>cheng911215</author><pubDate>Wed, 03 Sep 2014 15:25:09 +0800</pubDate><description><![CDATA[我们常常在代码中读取一些资源文件(比如图片，音乐，文本等等)。在单独运行的时候这些简单的处理当然不会有问题。但是，如果我们把代码打成一个jar包以后，即使将资源文件一并打包，这些东西也找不出来了。看看下面的代码：




import java.io.*;   

public class Resource {   

    public  void getResource()]]></description><category></category></item><item><title><![CDATA[org.springframework.context.ApplicationContextAware]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/39024223</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/39024223</guid><author>cheng911215</author><pubDate>Wed, 03 Sep 2014 10:36:42 +0800</pubDate><description><![CDATA[一、这个接口有什么用？

当一个类实现了这个接口（ApplicationContextAware）之后，这个类就可以方便获得ApplicationContext中的所有bean。换句话说，就是这个类可以直接获取spring配置文件中，所有有引用到的bean对象。

二、怎么用？

举个例子吧：

例如我有一个方法类AppUtil，这个方法类中需要使用到的ApplicationCon]]></description><category></category></item><item><title><![CDATA[final]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/39023973</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/39023973</guid><author>cheng911215</author><pubDate>Wed, 03 Sep 2014 10:22:55 +0800</pubDate><description><![CDATA[final可用于声明属性、方法和类，分别表示属性不可变，方法不可重写，类不可继承。
当然final修饰的方法是可以被重载的。]]></description><category></category></item><item><title><![CDATA[commons-logging + Log4j]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/39023801</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/39023801</guid><author>cheng911215</author><pubDate>Wed, 03 Sep 2014 10:13:32 +0800</pubDate><description><![CDATA[一 ：为什么同时使用commons-logging和Log4j?为什么不仅使用其中之一？ 

Commons-loggin的目的是为“所有的Java日志实现”提供一个统一的接口，它自身的日志功能平常弱（只有一个简单的SimpleLog?），所以一般不会单独使用它。Log4j的功能非常全面强大，是目前的首选。我发现几乎所有的Java开源项目都会用到Log4j，但我同时发现，所有用到Log4j的项]]></description><category></category></item><item><title><![CDATA[基本数据类型]]></title><link>https://blog.youkuaiyun.com/cheng911215/article/details/38979305</link><guid>https://blog.youkuaiyun.com/cheng911215/article/details/38979305</guid><author>cheng911215</author><pubDate>Mon, 01 Sep 2014 13:52:18 +0800</pubDate><description><![CDATA[基本类型，或者叫做内置类型，是JAVA中不同于类的特殊类型。它们是我们编程中使用最频繁的类型，因此面试题中也总少不了它们的身影，在这篇文章中我们将从面试中常考的几个方面来回顾一下与基本类型相关的知识。

基本类型共有八种，它们分别都有相对应的包装类。关于它们的详细信息请看下表：

基本类型可以分为三类，字符类型char，布尔类型boolean以及数值类型byte、short、int、lon]]></description><category></category></item></channel></rss>