<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[IterZebra]]></title><description><![CDATA[IterZebra的技术博客]]></description><link>https://blog.youkuaiyun.com/IterZebra</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; IterZebra]]></copyright><item><title><![CDATA[进程端口查看]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6830820</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6830820</guid><author>IterZebra</author><pubDate>Wed, 28 Sep 2011 18:46:36 +0800</pubDate><description><![CDATA[今天遇到apache的httpd服务开启不了，报错是服务端口地址X被占用。


解决步骤为：



查看进程的端口。查看的命令为：
1，netstat -tuanp


t表示tcp协议
u表示udp协议

a表示显示监听/非监听套接字。
n表示以数]]></description><category></category></item><item><title><![CDATA[Java正则表达式]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6795857</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6795857</guid><author>IterZebra</author><pubDate>Sun, 25 Sep 2011 19:52:45 +0800</pubDate><description><![CDATA[最近写字符串处理程序用到了Java正则表达式。其中写了个  \\s*:\\s*|(?
  为了写正则表达式，特意查看了JDK帮助文档，其中有一段：






Special constructs (non-capturing)


(?:X)
X, as]]></description><category></category></item><item><title><![CDATA[Java 线程局部存储]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6756426</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6756426</guid><author>IterZebra</author><pubDate>Mon, 19 Sep 2011 23:03:40 +0800</pubDate><description><![CDATA[一，简介和应用
Java中对线程局部存储进行支持的类是：

public class ThreadLocal
extends Object
其文档解释为：
该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物，因为访问某个变量（通过其]]></description><category></category></item><item><title><![CDATA[Java线程池技术之二  Java自带线程池实现]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6777781</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6777781</guid><author>IterZebra</author><pubDate>Sun, 18 Sep 2011 21:45:29 +0800</pubDate><description><![CDATA[一，介绍
  类视图如下：
  

  自Java 1.5后，Java对线程相关的库做了很大的拓展，线程池就是其中之一。Java线程的新特性多数在java.util.concurrent，其包含众多的接口和类。其中java.util.concurrent.Executor]]></description><category></category></item><item><title><![CDATA[Java 线程池技术之一 自实现线程池]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6758481</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6758481</guid><author>IterZebra</author><pubDate>Thu, 15 Sep 2011 09:15:08 +0800</pubDate><description><![CDATA[尽管自jdk1.5，Java已经自带了线程池实现，了解如何自己实现Java线程池有助于加深对操作系统和Java虚拟机的理解。


一，线程池的基本要素


线程池一般需要一个线程管理类： ThreadPoolManager，其作用有：
  1）提供创建一定数量的线程]]></description><category></category></item><item><title><![CDATA[Java 基本数据类型和对象类型]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6758394</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6758394</guid><author>IterZebra</author><pubDate>Wed, 07 Sep 2011 22:48:28 +0800</pubDate><description><![CDATA[基本数据类型在栈中进行分配，而对象类型在堆中进行分配。
  所有方法的参数都是在传递引用而非本身的值（基本类型例外）。

  对象之间的赋值只是传递引用，基本类型之间的赋值是创建新的拷贝。
  例如：  String a = "china";]]></description><category></category></item><item><title><![CDATA[Java 对象内存细节]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6757681</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6757681</guid><author>IterZebra</author><pubDate>Wed, 07 Sep 2011 22:41:57 +0800</pubDate><description><![CDATA[与Linux/Windows下的c/c++可执行文件类似，Java程序中的对象的内存存储，也存在如下方式：寄存器、栈、堆、常量池（类似于c/c++的数据段，但作用机制有所不同）、静态域（c/c++没有单独的概念，而是也存储在了数据段）、非RAM存储。
  

Java中，简]]></description><category></category></item><item><title><![CDATA[Nginx源代码分析--基本数据结构--hash]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6325034</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6325034</guid><author>IterZebra</author><pubDate>Wed, 07 Sep 2011 16:08:53 +0800</pubDate><description><![CDATA[Nginx对内存的使用极其苛刻，达到了令人呕吐的地步。
 
      这里仅仅分析一个hash桶的映射过程中的一小步骤：
 
      计算映射一个数组到hash桶的时候，所需要的桶的多少。
 
 
 
 
 
这是图：
 
 

 
源代码：]]></description><category></category></item><item><title><![CDATA[Java 空指针异常（java.lang.NullPointerException）]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6756391</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6756391</guid><author>IterZebra</author><pubDate>Wed, 07 Sep 2011 13:02:29 +0800</pubDate><description><![CDATA[Java 空指针异常（java.lang.NullPointerException），顾名思义，即对象没有进行实例化便进行了使用。实例化的意义，就是将对象实例的地址赋值给对象符号。
  比如 String a = new String();即在堆中将String的实例构造后，将]]></description><category></category></item><item><title><![CDATA[Java 常量池技术和==比较]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6756246</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6756246</guid><author>IterZebra</author><pubDate>Wed, 07 Sep 2011 12:49:06 +0800</pubDate><description><![CDATA[Java 形成的class文件中，包含有所谓的“常量池”，其类似于C/C++形成的可执行文件（或者目标文件）中的符号表和数据段。
  但是有所区别的是，C/C++的符号表，是符号（比如函数）和地址的对应关系，在最终链接形成的可执行文件中，所有对符号的引用的地址（比如函数调用指令]]></description><category></category></item><item><title><![CDATA[LeakDiag的使用和形成的LOG文件的分析方法]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6701196</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6701196</guid><author>IterZebra</author><pubDate>Fri, 19 Aug 2011 12:22:25 +0800</pubDate><description><![CDATA[一，使用

    LeakDiag版本1.25的下载地址为：

http://iterzebra.download.youkuaiyun.com/


    微软官方地址：

     ftp://ftp.microsoft.com/PSS/Tools/Develope]]></description><category></category></item><item><title><![CDATA[Nginx源代码分析--基本数据结构--hash]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6325470</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6325470</guid><author>IterZebra</author><pubDate>Tue, 05 Jul 2011 10:50:01 +0800</pubDate><description><![CDATA[<br />咱们来看这段代码：<br /> <br /> <br />//这段让人欢喜让人忧的宏定义<br /> <br />//先说说有什么需求：<br /> <br />         //桶的大小是有限制的，在ngx_hash_init_t 数据结构中]]></description><category></category></item><item><title><![CDATA[Nginx源代码分析--基本数据结构--hash]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6325579</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6325579</guid><author>IterZebra</author><pubDate>Tue, 05 Jul 2011 10:49:39 +0800</pubDate><description><![CDATA[咱们来继续看found后的处理：
found:  //小样，找到你了～～  //当前的size，可就是需要的桶大小了。 //老毛子这里将test[0]～test[size-1]的值，重新计算一遍。 //感觉是因为他太高兴了，觉得”终于成功计算出size了“，忘]]></description><category></category></item><item><title><![CDATA[Nginx源代码分析--基本数据结构--hash]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6330333</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6330333</guid><author>IterZebra</author><pubDate>Tue, 05 Jul 2011 10:45:23 +0800</pubDate><description><![CDATA[<br />这次我们来看一下查找函数<br /> <br /> <br /> <br />void *<br />
ngx_hash_find(ngx_hash_t *hash, ngx_uint_t key, u_char *name, size_t len]]></description><category></category></item><item><title><![CDATA[Nginx源代码分析--基本数据结构--hash]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6331808</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6331808</guid><author>IterZebra</author><pubDate>Tue, 05 Jul 2011 10:45:11 +0800</pubDate><description><![CDATA[<br />我们来看一下wildcard初始化函数。<br /> <br />//函数ngx_int_t<br /> <br />//ngx_array_s结构体<br /> <br /> <br /> <br />//elts是指向内存池中的存储元素的指针。]]></description><category></category></item><item><title><![CDATA[Nginx源代码分析--基本数据结构--hash]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6336591</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6336591</guid><author>IterZebra</author><pubDate>Tue, 05 Jul 2011 10:44:47 +0800</pubDate><description><![CDATA[<br />Nginx的查找函数逻辑相对简单，即根据要查找的key-value的key，计算出其所在的桶，比较该key和桶中所有key-value对的key的长度是否一致，如果一致，则进行继续key的值的比较。如果key的值也一直，则获取该key对应value]]></description><category></category></item><item><title><![CDATA[Nginx源代码分析--基本数据结构--hash]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6338363</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6338363</guid><author>IterZebra</author><pubDate>Tue, 05 Jul 2011 10:43:43 +0800</pubDate><description><![CDATA[//通配查找，匹配以.分隔的最后的字符串//ngx_hash_find_wc_head的处理流程为：//1，寻找字符串中，最后一个子串开始的位置//2，计算最后这个子串的key值//3，寻找这个key值对应的值域的指针// 4，如果value值不是NULL，则]]></description><category></category></item><item><title><![CDATA[用vim打造IDE--分屏]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6308549</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6308549</guid><author>IterZebra</author><pubDate>Fri, 08 Apr 2011 09:14:00 +0800</pubDate><description><![CDATA[使用分屏命令：:new           创建空白分屏:new filename  创建分屏并打开filename文件:split            对当前光标所在窗口进行水平分屏:vsplitt         对当前光标所在窗口进行竖直分屏:only            取消其他分屏，保留当前光标所在窗口]]></description><category></category></item><item><title><![CDATA[使用Vim打造IDE--Grep]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6303620</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6303620</guid><author>IterZebra</author><pubDate>Tue, 05 Apr 2011 22:54:00 +0800</pubDate><description><![CDATA[.在工程中查找 -- 插件: Grep下载地址http://www.vim.org/scripts/script.php?script_id=311版本1.8安装把grep.vim 文件丢到 ~/.vim/plugin 文件夹就好了手册在grep.vim 文件头部
下面介绍它的用法:
vim
有自己的查找功能, 但是跟shell中的grep比起来还是有些差距的, 有时Coding正火急火燎的时候, 真想按下F3, 
对光标所在的词来个全工程范围的grep, 不用敲那些繁琐的命令, 现在福音来了, 跟]]></description><category></category></item><item><title><![CDATA[使用Vim打造IDE--缓冲区和多个文件编辑]]></title><link>https://blog.youkuaiyun.com/IterZebra/article/details/6303616</link><guid>https://blog.youkuaiyun.com/IterZebra/article/details/6303616</guid><author>IterZebra</author><pubDate>Tue, 05 Apr 2011 22:53:00 +0800</pubDate><description><![CDATA[<br />原文地址：<br />http://blog.youkuaiyun.com/wooin/archive/2007/10/31/1858917.aspx<br /> <br /> <br /> <br />MiniBufExplorer<br /> <br />用以解决vim自己本身带的buffer管理工具不直观的问题。<br /> <br />下载地址：<br /> <br />http：//www.vim.org/scripts/script.php?script_id=159<br /> <br />安]]></description><category></category></item></channel></rss>