<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wjy320的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wjy320</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wjy320]]></copyright><item><title><![CDATA[LinkedBlockingQueue的put,add和offer的区别]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84610057</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84610057</guid><author>wjy320</author><pubDate>Fri, 27 Jun 2014 10:00:13 +0800</pubDate><description><![CDATA[
       最近在学习&amp;lt;&amp;lt;Java并发编程实践&amp;gt;&amp;gt;，有很多java.util.concurrent包下的新类。LinkedBlockingQueue就是其中之一，顾名思义这是一个阻塞的线程安全的队列，底层应该采用链表实现。
       看其API的时候发现，添加元素的方法竟然有三个：add,put,offer。
且这三个元素都是向队列尾部添加元素的意思。于是我产...]]></description><category></category></item><item><title><![CDATA[好的关于并发编程的博客整理]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84609877</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84609877</guid><author>wjy320</author><pubDate>Thu, 26 Jun 2014 14:36:27 +0800</pubDate><description><![CDATA[
        最近在看关于并发编程方面的博客，找到一些感觉不错的博客。记录下来：
 
KMP算法的简单实现：http://yanxuxin.iteye.com/blog/540562
 
Synchronized;
http://yanxuxin.iteye.com/blog/547261
http://yanxuxin.iteye.com/blog/551734
 
Thread:
h...]]></description><category></category></item><item><title><![CDATA[ReentrantReadWriteLock小结]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84609756</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84609756</guid><author>wjy320</author><pubDate>Thu, 26 Jun 2014 10:17:02 +0800</pubDate><description><![CDATA[
           最近在看&amp;lt;&amp;lt;Java并发编程实践&amp;gt;&amp;gt;，有这样一个类：ReentrantReadWriteLock。在这里做一个小结：
 
线程获得写锁的前提条件：
 
    其他线程没有获得读锁：注意一定是其他线程!!!!!!!!!!!!!!!
public class ReadWriteLock{
	static ReentrantReadWrit...]]></description><category></category></item><item><title><![CDATA[Zookeeper中ZooKeeperServer们的分析]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84609326</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84609326</guid><author>wjy320</author><pubDate>Tue, 24 Jun 2014 22:15:48 +0800</pubDate><description><![CDATA[
             最近在看ZooKeeper的源码，在zookeeper中用LeaderZooKeeperServer , FollowerZooKeeperServer和ObserverZooKeeperServer 这三个类来实现三种类型的服务器节点。
           他们之间的关系是这样的，我用viso画张图先：
       Zookeeper采用了责任链模式处理他们...]]></description><category></category></item><item><title><![CDATA[zookeeper杂记]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84609053</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84609053</guid><author>wjy320</author><pubDate>Tue, 24 Jun 2014 10:00:18 +0800</pubDate><description><![CDATA[
      最近在看关于ZK的博客，有一些感觉很不错的内容。这篇博客是我认为比较重要的内容我把它们收集起来，便于以后看：
 


zookeeper的一些处理原则
zookeeper的一些处理原则

1.可靠 delivery

	如果消息m被一台服务器delivered，它会被所有服务器delivered

2.完全有序

	如果消息a在一台服务器上先于消息b被de...]]></description><category></category></item><item><title><![CDATA[Java中的enum]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84608987</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84608987</guid><author>wjy320</author><pubDate>Mon, 23 Jun 2014 21:44:48 +0800</pubDate><description><![CDATA[
       众所周知enum是一个很好地东东，类型安全，甚至在序列化/反序列化的时候也是安全的，那么总结一下enum的用法：
用法一：常量
在JDK1.5 之前，我们定义常量都是： public static fianl.... 。现在好了，有了枚举，可以把相关的常量分组到一个枚举类型里，而且枚举提供了比常量更多的方法。

public enum Color {  
  RED, ...]]></description><category></category></item><item><title><![CDATA[(转)ZooKeeper的实现分析]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84608349</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84608349</guid><author>wjy320</author><pubDate>Fri, 20 Jun 2014 11:44:43 +0800</pubDate><description><![CDATA[
        最近在大量看关于Zookeeper的博客，发现一篇讲解ZK实现很详细的博客，特此转载一下：
原博客地址：
http://my.oschina.net/zhengyang841117/blog/186600
1 Zookeeper介绍
    Zookeeper是一个分布式的协调服务，为分布式应用程序提供synchronization、configuration main...]]></description><category></category></item><item><title><![CDATA[zookeeper学习(八) ]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84607924</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84607924</guid><author>wjy320</author><pubDate>Wed, 18 Jun 2014 21:52:52 +0800</pubDate><description><![CDATA[
　　　在ubutun上用了一下ZK的java的api．感觉不错，挺好用的．当然首先要启动ZK服务器．
 然后需要向Eclipse工程中导入三个包：
最后看看代码：
package com.wjy.zk;

import java.io.IOException;

import org.apache.zookeeper.CreateMode;
import org.apache.z...]]></description><category></category></item><item><title><![CDATA[zookeeper学习(七)]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84607831</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84607831</guid><author>wjy320</author><pubDate>Wed, 18 Jun 2014 15:48:17 +0800</pubDate><description><![CDATA[
       最近看到一个利用ZK的Watch机制实现Barrier的例子，因为Watch是一个很典型的类似观察者模式的机制，程序中很巧妙的使用一个Integer做为互斥量(mutex)。触发watch的process的时候，notifyAll。开始看的时候有一点晕，之后想了想恍然大悟,既然所有的类都继承自Object类，那么当然所有的类都会继承Object的wait,notify和notif...]]></description><category></category></item><item><title><![CDATA[CountDownLatch用法小结]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84607731</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84607731</guid><author>wjy320</author><pubDate>Wed, 18 Jun 2014 11:38:03 +0800</pubDate><description><![CDATA[
        最近在看ZK的源码，看到了有用到java.util.concurrent.CountDownLatch 这个类。总结一下用法：
    CountDownLatch，一个同步辅助类，在完成一组正在其他线程中执行的操作之前，它允许一个或多个线程一直等待。
主要方法
    public CountDownLatch(int count);
    public void c...]]></description><category></category></item><item><title><![CDATA[Ｚookeeper客户端初试]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84607267</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84607267</guid><author>wjy320</author><pubDate>Mon, 16 Jun 2014 19:23:17 +0800</pubDate><description><![CDATA[
　　　最近按照之前转载的博客配了一下Ｚookeeper，先启动了服务器，又试了几个客户端命令，截个图纪念一下：
服务器启动：
  
 
客户端执行命令：
   
 
推荐阿里前辈的一个系列博客：http://nileader.blog.51cto.com/1381108/d-16
还有一个阿里的开源项目网站：http://code.taobao.org/opensources/...]]></description><category></category></item><item><title><![CDATA[jQuery的格式]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84606651</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84606651</guid><author>wjy320</author><pubDate>Mon, 16 Jun 2014 15:04:31 +0800</pubDate><description><![CDATA[
       最近在看jQuery，发现jQuery的格式我有点驾驭不了了，特此贴出来，巩固学习一下：
$(&quot;#p1&quot;).css(&quot;color&quot;,&quot;red&quot;).slideUp(2000).slideDown(2000);
 //注意，color和red都是带双引号的。当然单引号也是可以的。
 
 
&amp;lt;div style=&quot;background:#98bf21;height:10...]]></description><category></category></item><item><title><![CDATA[自己写的第一个map-reduce程序]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84606248</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84606248</guid><author>wjy320</author><pubDate>Fri, 13 Jun 2014 19:38:39 +0800</pubDate><description><![CDATA[
　　　　　　今天尝试自己写了一个map-reduce程序，感觉不错．程序完成的是wordcount的功能，代码贴出来纪念一下：
package com.wjy.hadoop;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf....]]></description><category></category></item><item><title><![CDATA[Java中的Properties类介绍]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84606090</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84606090</guid><author>wjy320</author><pubDate>Fri, 13 Jun 2014 11:14:33 +0800</pubDate><description><![CDATA[
      最近在看ZK(ZooKeeper)的源码，发现源码中用到了Properties类加载配置信息，所以小研究一下：
      .properties文件是一行一行以等号分割的键值对，允许有多余的空格(所以经常取出来要用String的trim方法去除首尾多余的空格)。
       下面看个例子就行了，Properties类的使用很简单：
		InputStream inStre...]]></description><category></category></item><item><title><![CDATA[(转)使用ZooKeeper实现的两个实例]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84605925</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84605925</guid><author>wjy320</author><pubDate>Thu, 12 Jun 2014 16:28:37 +0800</pubDate><description><![CDATA[
         我们来看看，利用ZK实现分布式锁和实现实时更新server列表的功能的例子，转自：
                     http://coolxing.iteye.com/blog/1871630
                     http://coolxing.iteye.com/blog/1871520
*************************...]]></description><category></category></item><item><title><![CDATA[(转)Zookeeper的安装配置以及Java的API]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84605891</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84605891</guid><author>wjy320</author><pubDate>Thu, 12 Jun 2014 15:20:58 +0800</pubDate><description><![CDATA[
       最近在大量看有关ZooKeeper的博客，有关Zookeeper配置和Java的Api的博客发现了两篇，特此转载于此。向原作者致敬。
       转自：
                       http://coolxing.iteye.com/blog/1871009
                       http://coolxing.iteye.com/...]]></description><category></category></item><item><title><![CDATA[zookeeper学习(六)]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84605882</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84605882</guid><author>wjy320</author><pubDate>Thu, 12 Jun 2014 15:00:21 +0800</pubDate><description><![CDATA[
      下面列举一些，ZooKeeper的命令操作实例:
 
连接server

bin/zkCli.sh -server 10.1.39.43:4180  

列出指定node的子node

[zk: 10.1.39.43:4180(CONNECTED) 9] ls /  
[hello, filesync, zookeeper, xing, server, group, ...]]></description><category></category></item><item><title><![CDATA[zookeeper学习(五)]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84605817</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84605817</guid><author>wjy320</author><pubDate>Thu, 12 Jun 2014 11:23:24 +0800</pubDate><description><![CDATA[    Watch的注意事项：
 
1.Watches通知是一次性的，必须重复注册.
2.同一个ZK客户端，反复对同一个ZK节点（znode）注册相同的watcher，是无效的，最终只会有一个生效。
3.发生CONNECTIONLOSS之后，只要在session_timeout之内再次连接上（即不发生SESSIONEXPIRED），那么这个连接注册的watches依然在。
4.客户端会话...]]></description><category></category></item><item><title><![CDATA[zookeeper学习(四)]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84605792</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84605792</guid><author>wjy320</author><pubDate>Thu, 12 Jun 2014 10:28:02 +0800</pubDate><description><![CDATA[
         首先来了解一下ZooKeeper的数据模型，源代码中会有很多诸如zxid, czxid等这样的变量，那这些到底是什么呢？我在网上查了一些资料，分享一下：
         以上举的那两个例子，叫做Zk的节点(znode)的状态信息，可以通过get命令获取，成为Stat:
 


czxid
The zxid of the change that caused thi...]]></description><category></category></item><item><title><![CDATA[zookeeper学习(三)]]></title><link>https://blog.youkuaiyun.com/wjy320/article/details/84605361</link><guid>https://blog.youkuaiyun.com/wjy320/article/details/84605361</guid><author>wjy320</author><pubDate>Tue, 10 Jun 2014 16:03:18 +0800</pubDate><description><![CDATA[
       我想了想，还是决定将那篇讲ZAB协议的文章转载过来，ZK中提交事务采用的就是ZAB协议。
      转自：http://blog.youkuaiyun.com/m_vptr/article/details/9325405
建议还是看原文，我转载到这里利于我查看。向原作者致敬。
ps:个人感觉原博客的一张图画错了，就是那张Leader和Follower的通信图。个人感觉Commit应该...]]></description><category></category></item></channel></rss>