<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[小武的专栏]]></title><description><![CDATA[博客搬家：http://blog.lichengwu.cn]]></description><link>https://blog.youkuaiyun.com/ol_beta</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ol_beta]]></copyright><item><title><![CDATA[Java压缩/解压缩二进制文件]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84390237</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84390237</guid><author>ol_beta</author><pubDate>Fri, 08 Feb 2013 13:56:10 +0800</pubDate><description><![CDATA[
在Java中提供Deflater和Inflater工具类来压缩/解压缩数据。 这两个工具类采用zlib算法，下面给出一个封装好的工具。
    /**
     * util for compress/decompress data
     * 
     * @author lichengwu
     * @version 1.0
     * @created 2013-0...]]></description><category></category></item><item><title><![CDATA[java常用并发工具介绍]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84389992</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84389992</guid><author>ol_beta</author><pubDate>Wed, 06 Feb 2013 23:22:27 +0800</pubDate><description><![CDATA[
 本文主要介绍的工具包括:


CountDownLatch


Semaphore


CyclicBarrier


Exchanger


CountDownLatch
CountDownLatch可以使一个或多个线程等待一组事件发生。在CountDownLatch内部维护一个计数器(被初始化为一个正整数)，表示需要等待事件的数量。countDown()方法减...]]></description><category></category></item><item><title><![CDATA[Garbage First(G1) 日志分析工具]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84371208</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84371208</guid><author>ol_beta</author><pubDate>Sat, 22 Dec 2012 22:35:39 +0800</pubDate><description><![CDATA[G1介绍：http://softbeta.iteye.com/blog/1562185
用python写的一个分析G1日志工具，现在还不是很完善，有时间继续改进：
目前只支持以下配置输出的GC日志：
-XX:+UseG1GC
-XX:+PrintGCDateStamps
-XX:+PrintGCDetails
-Xloggc:/Users/lichengwu/tmp/mtct/mtct...]]></description><category></category></item><item><title><![CDATA[高性能MySQL读书笔记整理]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84371107</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84371107</guid><author>ol_beta</author><pubDate>Sat, 22 Dec 2012 12:43:17 +0800</pubDate><description><![CDATA[写在evernote上了，分享一下：
https://www.evernote.com/shard/s110/sh/f1dbc310-9eb0-47c5-9554-02cab34d5105/4083488b78b7c945f30b4147f8f2a63c]]></description><category></category></item><item><title><![CDATA[http_load工具使用]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84366605</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84366605</guid><author>ol_beta</author><pubDate>Tue, 11 Dec 2012 11:32:54 +0800</pubDate><description><![CDATA[安装：


#wget http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz
#tar zxvf http_load-12mar2006.tar.gz
#cd http_load-12mar2006
#make &amp;amp;&amp;amp; make install

用法：


usage:  http_load...]]></description><category></category></item><item><title><![CDATA[三种方式修改数据库的引擎]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84359321</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84359321</guid><author>ol_beta</author><pubDate>Wed, 21 Nov 2012 23:30:40 +0800</pubDate><description><![CDATA[1.直接alter table

ALTER TABLE youTable ENGINE=InnoDB;
这种方式最简单，但是对于大数据的表会消耗很长时间，因为MySQL要执行旧表到新表的逐行复制。而且alter table操作不管哪种引擎，MySQL都会锁整个表。
 
2.利用dump和source

首先dump需要的表，然后修改dump文件，去掉DROP TABLE修改CREA...]]></description><category></category></item><item><title><![CDATA[Spring源码阅读——Ioc初始化过程]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84358851</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84358851</guid><author>ol_beta</author><pubDate>Tue, 20 Nov 2012 21:52:45 +0800</pubDate><description><![CDATA[以web项目启动为例，介绍一下Ioc容器的初始化。
下面这个图主要是在启动项目的时候，跟踪代码所得到的，不同的配置可能会有不同的路径，但是图中勾勒出了必须经历的大部分过程。
首先，在web.xml中配置ContextLoaderListener，当启动项目的会有下图：
Ioc初始化大概分三个步骤：
 

准备工作(黑线)
加载Resource(红线)
通过Resource加载Bean...]]></description><category></category></item><item><title><![CDATA[Spring源码阅读——获得bean]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84320824</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84320824</guid><author>ol_beta</author><pubDate>Sat, 20 Oct 2012 20:57:04 +0800</pubDate><description><![CDATA[已XmlWebApplicationContext为例,从getBean(String name)方法开始，读一下Spring是怎么通过名字获得bean的。
其他方式类似这个过程。
这个是XmlWebApplicationContext的类继承体系：

 首先，getBean(String name)是在BeanFactory接口中定义的，而在AbstractApplicationCont...]]></description><category></category></item><item><title><![CDATA[Spring源码阅读——BeanFactory体系结构]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84299448</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84299448</guid><author>ol_beta</author><pubDate>Wed, 10 Oct 2012 18:10:08 +0800</pubDate><description><![CDATA[以下是看代的码随笔，想到哪写到哪，没有组织逻辑，见谅见谅。
以FileSystemXmlApplicationContext为例，看看BeanFactory的体系结构。
 
类图(点击放大)：
从上往下：
 


BeanFactory:BeanFactory：Spring的Bean容器最顶层的接口，定义了Ioc容器的基本规范。实现这个接口的Ioc容器都会持有一些BeanDefini...]]></description><category></category></item><item><title><![CDATA[varnish使用汇总(不断更新)]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84296281</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84296281</guid><author>ol_beta</author><pubDate>Fri, 28 Sep 2012 17:02:39 +0800</pubDate><description><![CDATA[Q:如何配置varnish缓存到硬盘？
A:http://softbeta.iteye.com/blog/1681716
 
Q:如果debug VCL?
A:http://stackoverflow.com/questions/12576248/how-to-debug-vcl-in-varnish
 
Q:怎样不重启varnish让新的vcl生效？
A:用varnishadm进入...]]></description><category></category></item><item><title><![CDATA[varnish+nginx实现内网附件缓存]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84296085</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84296085</guid><author>ol_beta</author><pubDate>Fri, 28 Sep 2012 12:43:23 +0800</pubDate><description><![CDATA[本文是对文件内网缓存方案的实现。
 
 


varnish作为缓存服务，部署在内网192.168.0.220，varnish只能本机访问(nginx)，内网用户不能直接访问varnish，需要通过nginx代理来访问。

nginx作为varnish的代理，如果将来有更大规模的缓存，可以做负载均衡。

HttpSecureLinkModule 对请求(超时，防盗)验证，每个跳转到...]]></description><category></category></item><item><title><![CDATA[varnish 缓存到硬盘]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84292177</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84292177</guid><author>ol_beta</author><pubDate>Wed, 19 Sep 2012 18:27:58 +0800</pubDate><description><![CDATA[

方法一：在启动的时候设置
 
varnishd -s file,/var/lib/varnish/varnish_storage.bin,50%
 
方法二：修改默认启动文件
 
 
 vi /etc/default/varnish

DAEMON_OPTS=&quot;-a :9350 \
             -T localhost:9351 \
           ...]]></description><category></category></item><item><title><![CDATA[生成随机数组]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84287882</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84287882</guid><author>ol_beta</author><pubDate>Tue, 11 Sep 2012 20:23:08 +0800</pubDate><description><![CDATA[1.要求生成一组n位的数字，0-9...（n个）之间的稠密集合。2.用一个参数 表示稠密度，比如稠密度为0.8 则生成 10^n*0.8个数字。3.数字号码不能重复。4.生成结果放在int [] 里面，要乱序的哦，不是排序好的。5.注意内存不要溢出，尽量少用内存。
...]]></description><category></category></item><item><title><![CDATA[O(1)复杂度获得栈中的极值]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84286625</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84286625</guid><author>ol_beta</author><pubDate>Sun, 09 Sep 2012 23:47:58 +0800</pubDate><description><![CDATA[设计一个栈，O(1)复杂度实现入栈，出栈，栈中最大值，栈中最小值。
提示：可以用空间换时间。
 
具体实现代码：
https://github.com/lichengwu/utils/blob/master/src/mian/java/oliver/util/colloection/FastExtremeValueAccessStack.java...]]></description><category></category></item><item><title><![CDATA[Garbage First(G1)介绍]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84245868</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84245868</guid><author>ol_beta</author><pubDate>Sun, 08 Jul 2012 13:34:05 +0800</pubDate><description><![CDATA[介绍：
Garbage First(G1)致力于在多CPU和大内存服务器上对垃圾收集提供软实时目标(soft real-time goal
)和高吞吐量(high throughput
)。从JDK 6u14开始就已经在Hotspot上试验，到现在的DK7依然没有走出实验室：
#java -version
java version &quot;1.7.0_03&quot;
Java(TM) SE Runt...]]></description><category></category></item><item><title><![CDATA[ubuntu12.04上编译openjdk7 ]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84233707</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84233707</guid><author>ol_beta</author><pubDate>Wed, 13 Jun 2012 15:31:31 +0800</pubDate><description><![CDATA[获取源码


从openjdk代码仓库获取(比较慢)

安装mercurial
Mercurial是一个版本管理工具。


sudo apt-get install mercurial



将以下内容添加到$HOME/.hgrc文件中，如果没有则自己创建一个：
[extensions]
forest=/home/lichengwu/hgforest-crew/fore...]]></description><category></category></item><item><title><![CDATA[ubuntu源推荐]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84210699</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84210699</guid><author>ol_beta</author><pubDate>Fri, 27 Apr 2012 19:36:21 +0800</pubDate><description><![CDATA[

国内的源东西不是很全，推荐下面的源。


#####################FFICIAL UBUNTU REPOS ###################
#############################################################

###### Ubuntu Main Repos
deb http://cn.archi...]]></description><category></category></item><item><title><![CDATA[jinfo 查看、设置JVM参数]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84209382</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84209382</guid><author>ol_beta</author><pubDate>Wed, 25 Apr 2012 15:36:05 +0800</pubDate><description><![CDATA[用法：


# jinfo -h
Usage:
    jinfo [option] &amp;lt;pid&amp;gt;
        (to connect to running process)
    jinfo [option] &amp;lt;executable &amp;lt;core&amp;gt;
        (to connect to a core file)
    jinfo [opt...]]></description><category></category></item><item><title><![CDATA[daemontools安装使用]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84208177</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84208177</guid><author>ol_beta</author><pubDate>Mon, 23 Apr 2012 16:01:38 +0800</pubDate><description><![CDATA[Create a /package directory:

     mkdir -p /package

     chmod 1755 /package

     cd /package


Download daemontools-0.76.tar.gz into /package.Unpack the daemontools package:
     gunzip ...]]></description><category></category></item><item><title><![CDATA[文件内网缓存方案]]></title><link>https://blog.youkuaiyun.com/ol_beta/article/details/84199088</link><guid>https://blog.youkuaiyun.com/ol_beta/article/details/84199088</guid><author>ol_beta</author><pubDate>Thu, 19 Apr 2012 19:47:33 +0800</pubDate><description><![CDATA[需求：
 

有一些图片，doc文件，公司内网用户需要经常访问，每次每个人都从服务器上下载，非常耗时。
一些文件可以根据规则打成zip包下载。
需要在内网架设缓存服务，加快公司内网访问速度。
文件资源敏感，不能随便访问，每次访问都要有权限验证和日志记录(即使访问内网)。

 
架构：
 

采用varnish做缓存，varnish对用户透明。
采用nginx+Secure Li...]]></description><category></category></item></channel></rss>