<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>无尽的探索</title>
	<atom:link href="http://fangyuncn.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://fangyuncn.wordpress.com</link>
	<description>Just another WordPress.com site</description>
	<lastBuildDate>Sat, 09 Oct 2010 02:09:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='fangyuncn.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>无尽的探索</title>
		<link>http://fangyuncn.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://fangyuncn.wordpress.com/osd.xml" title="无尽的探索" />
	<atom:link rel='hub' href='http://fangyuncn.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Hello world!</title>
		<link>http://fangyuncn.wordpress.com/2010/10/09/hello-world/</link>
		<comments>http://fangyuncn.wordpress.com/2010/10/09/hello-world/#comments</comments>
		<pubDate>Sat, 09 Oct 2010 02:06:14 +0000</pubDate>
		<dc:creator>fangyuncn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fangyuncn.wordpress.com/?p=1</guid>
		<description><![CDATA[Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=1&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Welcome to <a href="https://wordpress.com/">WordPress.com</a>. This is your first post. Edit or delete it and start blogging!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fangyuncn.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fangyuncn.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fangyuncn.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fangyuncn.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fangyuncn.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fangyuncn.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fangyuncn.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fangyuncn.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fangyuncn.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fangyuncn.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fangyuncn.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fangyuncn.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fangyuncn.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fangyuncn.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=1&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fangyuncn.wordpress.com/2010/10/09/hello-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c8528ec9cf87b6776ea2c3e3c9a78261?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fangyuncn</media:title>
		</media:content>
	</item>
		<item>
		<title>SVN备份脚本，配合cron，实现每周备份所有库一次，并删除7天前的备份</title>
		<link>http://fangyuncn.wordpress.com/2010/09/19/svn%e5%a4%87%e4%bb%bd%e8%84%9a%e6%9c%ac%ef%bc%8c%e9%85%8d%e5%90%88cron%ef%bc%8c%e5%ae%9e%e7%8e%b0%e6%af%8f%e5%91%a8%e5%a4%87%e4%bb%bd%e6%89%80%e6%9c%89%e5%ba%93%e4%b8%80%e6%ac%a1%ef%bc%8c%e5%b9%b6/</link>
		<comments>http://fangyuncn.wordpress.com/2010/09/19/svn%e5%a4%87%e4%bb%bd%e8%84%9a%e6%9c%ac%ef%bc%8c%e9%85%8d%e5%90%88cron%ef%bc%8c%e5%ae%9e%e7%8e%b0%e6%af%8f%e5%91%a8%e5%a4%87%e4%bb%bd%e6%89%80%e6%9c%89%e5%ba%93%e4%b8%80%e6%ac%a1%ef%bc%8c%e5%b9%b6/#comments</comments>
		<pubDate>Sun, 19 Sep 2010 09:26:39 +0000</pubDate>
		<dc:creator>fangyuncn</dc:creator>
				<category><![CDATA[计算机.编程]]></category>

		<guid isPermaLink="false">http://fangyuncn.wordpress.com/2010/09/19/svn%e5%a4%87%e4%bb%bd%e8%84%9a%e6%9c%ac%ef%bc%8c%e9%85%8d%e5%90%88cron%ef%bc%8c%e5%ae%9e%e7%8e%b0%e6%af%8f%e5%91%a8%e5%a4%87%e4%bb%bd%e6%89%80%e6%9c%89%e5%ba%93%e4%b8%80%e6%ac%a1%ef%bc%8c%e5%b9%b6</guid>
		<description><![CDATA[#!/bin/bash# Description:#         This program is subversion data backup script# History:#         2010/09/19        FangYun        0.1#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; ReposList=`cat /data/backup_svn/conf/repos.lst`SVNADMIN=/usr/local/bin/svnadminSvnDir=/data/svn_dirBakDir=/home/backup_244LogFile=$BakDir/svnbackup.logDATE=`date +%Y%m%d` #Create backup direcotrycreateDir()&#123;    if [ -d $BakDir/$DATE ]      then         echo &#34;[$BakDir/$DATE] directory has existed!&#34; &#62;&#62; $LogFile    else        mkdir $BakDir/$DATE    fi &#125; #Backup &#8230; <a href="http://fangyuncn.wordpress.com/2010/09/19/svn%e5%a4%87%e4%bb%bd%e8%84%9a%e6%9c%ac%ef%bc%8c%e9%85%8d%e5%90%88cron%ef%bc%8c%e5%ae%9e%e7%8e%b0%e6%af%8f%e5%91%a8%e5%a4%87%e4%bb%bd%e6%89%80%e6%9c%89%e5%ba%93%e4%b8%80%e6%ac%a1%ef%bc%8c%e5%b9%b6/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=3&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!29C7193178944F5A!2022" class="bvMsg">
<p>#!/bin/bash<br /># Description:<br />#         This program is subversion data backup script<br /># History:<br />#         2010/09/19        FangYun        0.1<br />#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;
<p>ReposList=`cat /data/backup_svn/conf/repos.lst`<br />SVNADMIN=/usr/local/bin/svnadmin<br />SvnDir=/data/svn_dir<br />BakDir=/home/backup_244<br />LogFile=$BakDir/svnbackup.log<br />DATE=`date +%Y%m%d`
<p>#Create backup direcotry<br />createDir()&#123;<br />    if [ -d $BakDir/$DATE ]  <br />    then <br />        echo &quot;[$BakDir/$DATE] directory has existed!&quot; &gt;&gt; $LogFile<br />    else<br />        mkdir $BakDir/$DATE<br />    fi <br />&#125;
<p>#Backup SVN<br />backupSVN()&#123;<br />    cd $SvnDir <br />    echo &quot;Backup repositories start at $(date +&quot;%Y-%m-%d %H:%M:%S&quot;).&quot; &gt;&gt; $LogFile<br />    for repos in $ReposList<br />    do<br />        desRepos=$BakDir/$DATE/$repos<br />        $SVNADMIN hotcopy $repos $desRepos<br />        echo &quot;Repository $repos has backuped.&quot; &gt;&gt; $LogFile<br />    done<br />    echo &quot;Backup repositories end at $(date +&quot;%Y-%m-%d %H:%M:%S&quot;).&quot; &gt;&gt; $LogFile<br />&#125;
<p>#Delete old directory<br />deleteOld()&#123;<br />    oldDir=$BakDir/$(date +%Y%m%d &#8211;date=&#8217;7 days ago&#8217;)<br />    if [ -d $oldDir ]<br />    then<br />        rm -rf $oldDir &gt;&gt; $LogFile 2&gt;&amp;1<br />        echo &quot;[$oldDir],Delete Old Directory Success!&quot; &gt;&gt; $LogFile<br />    else<br />        echo &quot;[$oldDir],No Old Backup Directory!&quot; &gt;&gt; $LogFile<br />    fi<br />&#125;
<p>main()&#123;<br />    echo &quot;==================================================&quot; &gt;&gt; $LogFile<br />    createDir<br />    backupSVN<br />    deleteOld<br />    echo &quot;##################################################&quot; &gt;&gt; $LogFile<br />    echo &quot; &quot; &gt;&gt; $LogFile<br />&#125;</p>
<p>main</p>
</p></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fangyuncn.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fangyuncn.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fangyuncn.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fangyuncn.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fangyuncn.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fangyuncn.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fangyuncn.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fangyuncn.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fangyuncn.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fangyuncn.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fangyuncn.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fangyuncn.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fangyuncn.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fangyuncn.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=3&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fangyuncn.wordpress.com/2010/09/19/svn%e5%a4%87%e4%bb%bd%e8%84%9a%e6%9c%ac%ef%bc%8c%e9%85%8d%e5%90%88cron%ef%bc%8c%e5%ae%9e%e7%8e%b0%e6%af%8f%e5%91%a8%e5%a4%87%e4%bb%bd%e6%89%80%e6%9c%89%e5%ba%93%e4%b8%80%e6%ac%a1%ef%bc%8c%e5%b9%b6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c8528ec9cf87b6776ea2c3e3c9a78261?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fangyuncn</media:title>
		</media:content>
	</item>
		<item>
		<title>Linux中mount一个NFS文件系统目录到指定目录</title>
		<link>http://fangyuncn.wordpress.com/2010/09/19/linux%e4%b8%admount%e4%b8%80%e4%b8%aanfs%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e7%9b%ae%e5%bd%95%e5%88%b0%e6%8c%87%e5%ae%9a%e7%9b%ae%e5%bd%95/</link>
		<comments>http://fangyuncn.wordpress.com/2010/09/19/linux%e4%b8%admount%e4%b8%80%e4%b8%aanfs%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e7%9b%ae%e5%bd%95%e5%88%b0%e6%8c%87%e5%ae%9a%e7%9b%ae%e5%bd%95/#comments</comments>
		<pubDate>Sun, 19 Sep 2010 07:54:40 +0000</pubDate>
		<dc:creator>fangyuncn</dc:creator>
				<category><![CDATA[计算机与 Internet]]></category>

		<guid isPermaLink="false">http://fangyuncn.wordpress.com/2010/09/19/linux%e4%b8%admount%e4%b8%80%e4%b8%aanfs%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e7%9b%ae%e5%bd%95%e5%88%b0%e6%8c%87%e5%ae%9a%e7%9b%ae%e5%bd%95</guid>
		<description><![CDATA[mount一个NFS文件系统目录到指定目录： mount -t nfs -o rw  10.130.24.244:/home/backup /home/backup_244 前提条件： 10.130.24.244开启nfs服务 1) 启动NFS的方法和启动其他服务器的方法类似。首先需要启动portmap和nfs这两个服务，并且portmap服务一定要先于nfs服务启动。 /etc/init.d/portmap start /etc/init.d/nfs start  2)编辑/etc/exports  /home/backup      10.130.24.*(rw,async,anonuid=0,anongid=0) 3)运行 exportfs -a<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=4&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!29C7193178944F5A!2021" class="bvMsg">
<p>mount一个NFS文件系统目录到指定目录：
<p>mount -t nfs -o rw  10.130.24.244:/home/backup /home/backup_244
<p>前提条件：
<p>10.130.24.244开启nfs服务
<p>1) 启动NFS的方法和启动其他服务器的方法类似。首先需要启动portmap和nfs这两个服务，并且portmap服务一定要先于nfs服务启动。
<p>/etc/init.d/portmap start
<p>/etc/init.d/nfs start 
<p>2)编辑/etc/exports 
<p>/home/backup      10.130.24.*(rw,async,anonuid=0,anongid=0)
<p>3)运行 exportfs -a</p>
</p></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fangyuncn.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fangyuncn.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fangyuncn.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fangyuncn.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fangyuncn.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fangyuncn.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fangyuncn.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fangyuncn.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fangyuncn.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fangyuncn.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fangyuncn.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fangyuncn.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fangyuncn.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fangyuncn.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=4&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fangyuncn.wordpress.com/2010/09/19/linux%e4%b8%admount%e4%b8%80%e4%b8%aanfs%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e7%9b%ae%e5%bd%95%e5%88%b0%e6%8c%87%e5%ae%9a%e7%9b%ae%e5%bd%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c8528ec9cf87b6776ea2c3e3c9a78261?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fangyuncn</media:title>
		</media:content>
	</item>
		<item>
		<title>SVN备份脚本，配合cron，实现每天备份所有库一次，并删除3天前的备份。</title>
		<link>http://fangyuncn.wordpress.com/2010/09/19/svn%e5%a4%87%e4%bb%bd%e8%84%9a%e6%9c%ac%ef%bc%8c%e9%85%8d%e5%90%88cron%ef%bc%8c%e5%ae%9e%e7%8e%b0%e6%af%8f%e5%a4%a9%e5%a4%87%e4%bb%bd%e6%89%80%e6%9c%89%e5%ba%93%e4%b8%80%e6%ac%a1%ef%bc%8c%e5%b9%b6/</link>
		<comments>http://fangyuncn.wordpress.com/2010/09/19/svn%e5%a4%87%e4%bb%bd%e8%84%9a%e6%9c%ac%ef%bc%8c%e9%85%8d%e5%90%88cron%ef%bc%8c%e5%ae%9e%e7%8e%b0%e6%af%8f%e5%a4%a9%e5%a4%87%e4%bb%bd%e6%89%80%e6%9c%89%e5%ba%93%e4%b8%80%e6%ac%a1%ef%bc%8c%e5%b9%b6/#comments</comments>
		<pubDate>Sun, 19 Sep 2010 06:37:19 +0000</pubDate>
		<dc:creator>fangyuncn</dc:creator>
				<category><![CDATA[计算机.编程]]></category>

		<guid isPermaLink="false">http://fangyuncn.wordpress.com/2010/09/19/svn%e5%a4%87%e4%bb%bd%e8%84%9a%e6%9c%ac%ef%bc%8c%e9%85%8d%e5%90%88cron%ef%bc%8c%e5%ae%9e%e7%8e%b0%e6%af%8f%e5%a4%a9%e5%a4%87%e4%bb%bd%e6%89%80%e6%9c%89%e5%ba%93%e4%b8%80%e6%ac%a1%ef%bc%8c%e5%b9%b6</guid>
		<description><![CDATA[#!/bin/bash# Description:#         This program is subversion data backup script# History:#         2010/09/19        FangYun        0.1#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;LogFile=/data/backup_svn/svnbackup.logDATE=`date +%Y%m%d`BakDir=/data/backup_svnReposLst=/data/backup_svn/conf/repos.lstSvnDir=/data/svn_dirSVNADMIN=/usr/local/bin/svnadminMAILADDR=fangyun@channelsoft.com echo &#34;svn backup start at $(date +&#34;%Y-%m-%d %H:%M:%S&#34;).&#34; &#62;&#62; $LogFileecho &#34;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#34; &#62;&#62; $LogFile if [ ! -d $BakDir/$DATE ]then   mkdir $BakDir/$DATEfi cd $BakDirREPOS_LIST=`cat $ReposLst`for repos in &#8230; <a href="http://fangyuncn.wordpress.com/2010/09/19/svn%e5%a4%87%e4%bb%bd%e8%84%9a%e6%9c%ac%ef%bc%8c%e9%85%8d%e5%90%88cron%ef%bc%8c%e5%ae%9e%e7%8e%b0%e6%af%8f%e5%a4%a9%e5%a4%87%e4%bb%bd%e6%89%80%e6%9c%89%e5%ba%93%e4%b8%80%e6%ac%a1%ef%bc%8c%e5%b9%b6/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=5&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!29C7193178944F5A!2020" class="bvMsg">
<p>#!/bin/bash<br /># Description:<br />#         This program is subversion data backup script<br /># History:<br />#         2010/09/19        FangYun        0.1<br />#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />LogFile=/data/backup_svn/svnbackup.log<br />DATE=`date +%Y%m%d`<br />BakDir=/data/backup_svn<br />ReposLst=/data/backup_svn/conf/repos.lst<br />SvnDir=/data/svn_dir<br />SVNADMIN=/usr/local/bin/svnadmin<br />MAILADDR=fangyun@channelsoft.com
<p>echo &quot;svn backup start at $(date +&quot;%Y-%m-%d %H:%M:%S&quot;).&quot; &gt;&gt; $LogFile<br />echo &quot;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&quot; &gt;&gt; $LogFile
<p>if [ ! -d $BakDir/$DATE ]<br />then<br />   mkdir $BakDir/$DATE<br />fi
<p>cd $BakDir<br />REPOS_LIST=`cat $ReposLst`<br />for repos in $REPOS_LIST<br />do<br />    reposData=$SvnDir/$repos<br />    destDir=$BakDir/$DATE/$repos<br />if [ -d $destDir ]<br />then<br />    echo &quot;Backup directory have exist!&quot; &gt;&gt;$LogFile<br />else<br />    $SVNADMIN hotcopy $reposData $destDir<br />    echo &quot;Backup $repos done.&quot;&gt;&gt;$LogFile<br />fi<br />done
<p>oldDir=&quot;$BakDir/&quot;$(date +%Y%m%d &#8211;date=&#8217;3 days ago&#8217;)<br />if [ -d $oldDir ]<br />then<br />    rm -rf $oldDir &gt;&gt; $LogFile 2&gt;&amp;1<br />    echo &quot;[$oldDir],Delete Old Directory Success!&quot; &gt;&gt; $LogFile<br />else<br />    echo &quot;[$oldDir],No Old Backup Directory!&quot; &gt;&gt; $LogFile<br />fi
<p>echo &quot;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&quot; &gt;&gt; $LogFile<br />echo &quot;svn backup end at $(date +&quot;%Y-%m-%d %H:%M:%S&quot;).&quot; &gt;&gt; $LogFile<br />echo &quot; &quot; &gt;&gt; $LogFile
<p>#mail $MAILADDR -s svn-back_log &lt; $LogFile</p>
</p></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fangyuncn.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fangyuncn.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fangyuncn.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fangyuncn.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fangyuncn.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fangyuncn.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fangyuncn.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fangyuncn.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fangyuncn.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fangyuncn.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fangyuncn.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fangyuncn.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fangyuncn.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fangyuncn.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=5&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fangyuncn.wordpress.com/2010/09/19/svn%e5%a4%87%e4%bb%bd%e8%84%9a%e6%9c%ac%ef%bc%8c%e9%85%8d%e5%90%88cron%ef%bc%8c%e5%ae%9e%e7%8e%b0%e6%af%8f%e5%a4%a9%e5%a4%87%e4%bb%bd%e6%89%80%e6%9c%89%e5%ba%93%e4%b8%80%e6%ac%a1%ef%bc%8c%e5%b9%b6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c8528ec9cf87b6776ea2c3e3c9a78261?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fangyuncn</media:title>
		</media:content>
	</item>
		<item>
		<title>Apache2+Resin3集群实现负载均衡</title>
		<link>http://fangyuncn.wordpress.com/2010/08/26/apache2resin3%e9%9b%86%e7%be%a4%e5%ae%9e%e7%8e%b0%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1/</link>
		<comments>http://fangyuncn.wordpress.com/2010/08/26/apache2resin3%e9%9b%86%e7%be%a4%e5%ae%9e%e7%8e%b0%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 10:59:49 +0000</pubDate>
		<dc:creator>fangyuncn</dc:creator>
				<category><![CDATA[计算机与 Internet]]></category>

		<guid isPermaLink="false">http://fangyuncn.wordpress.com/2010/08/26/apache2resin3%e9%9b%86%e7%be%a4%e5%ae%9e%e7%8e%b0%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1</guid>
		<description><![CDATA[Apache2（前端）+ Resin（后端集群）可以很好的实现负载均衡。Apache用来服务静态页面，Resin用来服务动态页面。 实验环境 10.130.41.233: 前端服务器，Apache2 10.130.41.233: 后端服务器b，resin-3.0.25 10.130.41.232: 后端服务器a，resin-3.0.25 编译mod_caucho.so 在10.130.41.233机器下载resin-3.0.25.tar.gz，解压：tar -zxf resin-3.0.25.tar.gz 进入resin-3.0.25目录：cd /home/portal/resin-3.0.25 编译mod_caucho.so： ./configure --with-apxs=/usr/local/apache2/bin/apxs make make install 注意：apache2以root安装的，所以make install时需要root权限 编译完后，会在/usr/local/apache2/modules/目录下生成mod_caucho.so文件。并且自动更新apache2的配置文件httpd.conf，添加下面的内容 LoadModule caucho_module /usr/local/apache2/modules/mod_caucho.so ResinConfigServer localhost 6802 CauchoConfigCacheDirectory /tmp CauchoStatus yes 配置后端resin 需要修改2台后端resin服务器的配置文件resin.conf，如果有多个resin，均按此方式配置 找到配置文件中的 &#60;!&#8212; The local &#8230; <a href="http://fangyuncn.wordpress.com/2010/08/26/apache2resin3%e9%9b%86%e7%be%a4%e5%ae%9e%e7%8e%b0%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=6&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!29C7193178944F5A!2019" class="bvMsg">
<p>Apache2（前端）+ Resin（后端集群）可以很好的实现负载均衡。Apache用来服务静态页面，Resin用来服务动态页面。<br />
<h1>实验环境 </h1>
<p>10.130.41.233: 前端服务器，Apache2 <br />10.130.41.233: 后端服务器b，resin-3.0.25 <br />10.130.41.232: 后端服务器a，resin-3.0.25 </p>
<h2>编译mod_caucho.so </h2>
<ul>
<li>在10.130.41.233机器下载resin-3.0.25.tar.gz，解压：tar -zxf resin-3.0.25.tar.gz
<li>进入resin-3.0.25目录：cd /home/portal/resin-3.0.25
<li>编译mod_caucho.so： </li>
</li>
</li>
</ul>
<pre>./configure --with-apxs=/usr/local/apache2/bin/apxs
make
make install
注意：apache2以root安装的，所以make install时需要root权限
</pre>
<ul>
<li>编译完后，会在/usr/local/apache2/modules/目录下生成mod_caucho.so文件。并且自动更新apache2的配置文件httpd.conf，添加下面的内容 </li>
</ul>
<pre>LoadModule caucho_module /usr/local/apache2/modules/mod_caucho.so
ResinConfigServer localhost 6802
CauchoConfigCacheDirectory /tmp
CauchoStatus yes</pre>
<h2>配置后端resin</h2>
<p>需要修改2台后端resin服务器的配置文件resin.conf，如果有多个resin，均按此方式配置 </p>
<p>找到配置文件中的 &lt;!&#8212; The local cluster, used for load balancing and distributed backup.&#8211;&gt;，修改负载均衡配置，需要设置服务器的ID、IP和port，例如： </p>
<p>10.130.41.233的设置如下:
<pre>&lt;cluster&gt;
&lt;srun server-id=&quot;b&quot; host=&quot;10.130.41.233&quot; port=&quot;6802&quot;/&gt;
&lt;/cluster&gt;
</pre>
<p>10.130.41.232的设置如下：
<pre>&lt;cluster&gt;
&lt;srun server-id=&quot;a&quot; host=&quot;10.130.41.232&quot; port=&quot;6802&quot;/&gt;
&lt;/cluster&gt;</pre>
<h2>配置前端的Apache </h2>
<p>修改httpd.conf内容，增加ResinConfigServer。如下：
<pre>LoadModule caucho_module /usr/local/apache2/modules/mod_caucho.so
ResinConfigServer 10.130.41.232 6802
ResinConfigServer 10.130.41.233 6802
CauchoConfigCacheDirectory /tmp
CauchoStatus yes
</pre>
<p>ResinConfigServer配置的是调用resin负载均衡器的IP地址和端口号，前端服务器apache，分别调用了10.130.41.233和10.130.41.232两个Resin后端服务器</p>
<h2>测试</h2>
<p>5.1 编写测试页面<br />为了检查负载均衡是否生效,需要编写测试页面test.jsp，通过在web页面和各Resin的日志中显示的内容进行辨别，下面10.130.41.232的其中一个Resin为例说明： </p>
<p>&lt;%System.out.println(&quot;server 10.130.41.232&quot;);%&gt; //在Resin日志中显示 </p>
<p>server 10.130.41.232 //在web页面显示 </p>
<p>其他Resin的test.jsp参照上例，只需要将其中的内容替换掉，例如10.130.41.233的test.jsp文件可以写成 </p>
<p>&lt;%System.out.println(&quot;server 10.130.41.233&quot;);%&gt; //在Resin日志中显示 </p>
<p>server 10.130.41.233 //在web页面显示 </p>
<p>5.2 发布项目 </p>
<p>分别将来两个test.jsp文件放到10.130.41.232和10.130.41.233设置的resin的webapps/ROOT目录下 </p>
<p>5.3 启动服务 </p>
<p>#启动Apache2 </p>
<p>#/usr/local/apache2/bin/apachectl -k start </p>
<p>#分别启动调用的resin </p>
<p>启动10.130.41.232的resin中id为&quot;a&quot;的服务，需要在10.130.41.232服务器执行如下命令 </p>
<p>$ /home/portal/resin-3.0.25/bin/httpd.sh -server a start </p>
<p>启动10.130.41.233的resin中id为&quot;b&quot;的服务，需要在10.130.41.233服务器执行如下命令 </p>
<p>$ /home/portal/resin-3.0.25/bin/httpd.sh -server b start </p>
<p>5.4 验证test.jsp </p>
<p>使用IE多次访问web发布页面，通过页面显示的内容和resin日志打印的内容，检查是否随机调用各后端服务器1&amp;2的resin的test.jsp文件。 </p>
<p>Web页面的访问地址如下 </p>
<p><a href="http://10.130.41.233/test.jsp">http://10.130.41.233/test.jsp</a></p>
<p>多次访问<a href="http://10.130.41.233/test.jsp">http://10.130.41.233/test.jsp</a>。如果每次会随机显示其中一个resin的a.jsp文件的内容，之后关闭其中个几个resin（不是全部关闭），<a href="http://10.130.41.233/test.jsp">http://10.130.41.233/test.jsp</a> 仍能正常访问，至此就完成了负载均衡的测试，证明配置成功。</p>
<h2>参考</h2>
<p>1. <a href="http://www.caucho.com/resin-3.0/install/cse-apache.xtp">Resin with Apache</a></p>
</p>
</p>
</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fangyuncn.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fangyuncn.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fangyuncn.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fangyuncn.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fangyuncn.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fangyuncn.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fangyuncn.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fangyuncn.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fangyuncn.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fangyuncn.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fangyuncn.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fangyuncn.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fangyuncn.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fangyuncn.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=6&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fangyuncn.wordpress.com/2010/08/26/apache2resin3%e9%9b%86%e7%be%a4%e5%ae%9e%e7%8e%b0%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c8528ec9cf87b6776ea2c3e3c9a78261?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fangyuncn</media:title>
		</media:content>
	</item>
		<item>
		<title>LVS+keepalived 实现负载均衡</title>
		<link>http://fangyuncn.wordpress.com/2010/08/26/lvskeepalived-%e5%ae%9e%e7%8e%b0%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1/</link>
		<comments>http://fangyuncn.wordpress.com/2010/08/26/lvskeepalived-%e5%ae%9e%e7%8e%b0%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 10:48:18 +0000</pubDate>
		<dc:creator>fangyuncn</dc:creator>
				<category><![CDATA[计算机与 Internet]]></category>

		<guid isPermaLink="false">http://fangyuncn.wordpress.com/2010/08/26/lvskeepalived-%e5%ae%9e%e7%8e%b0%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1</guid>
		<description><![CDATA[负载均衡技术主要目的 使用负载均衡技术主要的目的包括如下几点：◆ 系统高可用性。◆ 系统可扩展性。◆ 负载均衡能力。 完整的负载均衡项目 一个完整的负载均衡项目，一般由虚拟服务器、故障隔离及失败切换3 个功能框架所组成。 虚拟服务器是负载均衡体系的基本架构，它分两层结构：转发器（Director）和真实服务器。 为什么称虚拟服务器？因为从用户的角度看来，似乎只是一个服务器在提供服务。虚拟服务器最主要的功能是提供包转发和负载均衡，这个功能可以通过撰写ipvsadm 脚本具体实现。虚拟服务器项目由章文嵩博士所贡献，目前已被添加到各种linux 发行版的内核。 故障隔离，指虚拟服务器中的某个真实服务器（或某几个真实服务器）失效或发生故障，系统将自动把失效的服务器从转发队列中清理出去，从而保证用户访问的正确性；另一方面，当实效的服务器被修复以后，系统再自动地把它加入转发队列。 失败切换，这是针对负载均衡器Director 采取的措施，在有两个负载均衡器Director 的应用场景，当主负载均衡器（MASTER）失效或出现故障，备份负载均衡器（BACKUP）将自动接管主负载均衡器的工作；一旦主负载均衡器故障修复，两者将恢复到最初的角色。 LVS+keepalived 介绍 LVS是Linux Virtual Server的简写，意即Linux虚拟服务器，是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立，是中国国内最早出现的自由软件项目之一。目前有三种IP负载均衡技术（VS/NAT、VS/TUN和VS/DR）；八种调度算法（rr,wrr,lc,wlc,lblc,lblcr,dh,sh）。 keepalived 是运行在lvs 之上，它的主要功能是实现真实机的故障隔离及负载均衡器间的失败切换FailOver.lvs 结合keepalived，就实现了3 层、4 层、5/7 层交换的功能，下面摘录来自官方网站www.keepalived.org 的一段描述： The main goal of the keepalived project is to add a &#8230; <a href="http://fangyuncn.wordpress.com/2010/08/26/lvskeepalived-%e5%ae%9e%e7%8e%b0%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=7&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!29C7193178944F5A!2018" class="bvMsg">
<h1>负载均衡技术主要目的 </h1>
<p>使用负载均衡技术主要的目的包括如下几点：<br />◆ 系统高可用性。◆ 系统可扩展性。◆ 负载均衡能力。
<p><a></a><br />
<h1>完整的负载均衡项目 </h1>
<p>一个完整的负载均衡项目，一般由虚拟服务器、故障隔离及失败切换3 个功能框架所组成。
<ul>
<li><b>虚拟服务器</b>是负载均衡体系的基本架构，它分两层结构：转发器（Director）和真实服务器。 </li>
</ul>
<p>为什么称虚拟服务器？因为从用户的角度看来，似乎只是一个服务器在提供服务。虚拟服务器最主要的功能是提供包转发和负载均衡，这个功能可以通过撰写ipvsadm 脚本具体实现。虚拟服务器项目由章文嵩博士所贡献，目前已被添加到各种linux 发行版的内核。
<ul>
<li><b>故障隔离</b>，指虚拟服务器中的某个真实服务器（或某几个真实服务器）失效或发生故障，系统将自动把失效的服务器从转发队列中清理出去，从而保证用户访问的正确性；另一方面，当实效的服务器被修复以后，系统再自动地把它加入转发队列。
<li><b>失败切换</b>，这是针对负载均衡器Director 采取的措施，在有两个负载均衡器Director 的应用场景，当主负载均衡器（MASTER）失效或出现故障，备份负载均衡器（BACKUP）将自动接管主负载均衡器的工作；一旦主负载均衡器故障修复，两者将恢复到最初的角色。 </li>
</ul>
<p><a></a><br />
<h1>LVS+keepalived 介绍 </h1>
<p><b>LVS</b>是Linux Virtual Server的简写，意即Linux虚拟服务器，是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立，是中国国内最早出现的自由软件项目之一。目前有三种IP负载均衡技术（VS/NAT、VS/TUN和VS/DR）；八种调度算法（rr,wrr,lc,wlc,lblc,lblcr,dh,sh）。
<p><b>keepalived </b>是运行在lvs 之上，它的主要功能是实现真实机的故障隔离及负载均衡器间的失败切换FailOver.lvs 结合keepalived，就实现了3 层、4 层、5/7 层交换的功能，下面摘录来自官方网站www.keepalived.org 的一段描述：
<pre>The main goal of the keepalived project is to add a strong &amp; robust keepalive facility to the Linux Virtual Server project.
This project is written in C with multilayer TCP/IP stack checks. Keepalived implements a framework based on three family checks :
Layer3, Layer4 &amp; Layer5/7. 

This framework gives the daemon the ability of checking a LVS server pool states. When one of the server
of the LVS server pool is down, keepalived informs the linux kernel via a setsockopt call to remove this server entrie from the
LVS topology. In addition keepalived implements an independent VRRPv2 stack to handle director failover. So in short keepalived
is a userspace daemon for LVS cluster nodes healthchecks and LVS directors failover.
</pre>
<p>从这段描述中，我们可以得到几个有用的信息： </p>
<ul>
<li>keepalived 是lvs 的扩展项目，因此它们之间具备良好的兼容性。这点应该是keepalived部署比其他类似工具能更简洁的原因吧！ </li>
</ul>
<ul>
<li>通过对服务器池对象的健康检查，实现对失效机器/服务的故障隔离。
<li>负载均衡器之间的失败切换failover，是通过VRRPv2（Virtual Router Redundancy Protocol）stack 实现的。 </li>
</li>
</ul>
<p><a></a></p>
<h1>网站负载均衡拓朴图 </h1>
<p><img title="virtual_server" style="border-right:0;border-top:0;display:inline;border-left:0;border-bottom:0;" height="404" alt="virtual_server" src="http://fangyuncn.files.wordpress.com/2010/08/virtual_server5b45d.jpg?w=644&#038;h=404" width="644" border="0" /> </p>
<p><a></a></p>
<h2>IP信息列表 </h2>
<p><b>名称</b><br /><b>IP</b></p>
<p>LVS-DR-Master <br />10.130.41.233 </p>
<p>LVS-DR-Backup <br />10.130.41.232 </p>
<p>LVS-DR-VIP <br />10.130.41.231 </p>
<p>Realserver-1 <br />10.130.41.253 </p>
<p>Realserver-2 <br />10.130.41.239 </p>
<p><a></a></p>
<h2>真实服务器上的操作 </h2>
<p><a></a></p>
<h3>编写lvs 客户端配置脚本 </h3>
<p>编写lvs 客户端配置脚本，保存后给予执行权限（每个服务器都是一样的操作）。其完整的内容如下： </p>
<ol>
<li>more /usr/local/bin/lvs_real </li>
</ol>
<pre>#!/bin/bash
#description : start realserver
VIP=10.130.41.231
/etc/rc.d/init.d/functions
case &quot;$1&quot; in
start)
echo &quot; start LVS of RealServer&quot;
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
echo &quot;1&quot; &gt;/proc/sys/net/ipv4/conf/lo/arp_ignore
echo &quot;2&quot; &gt;/proc/sys/net/ipv4/conf/lo/arp_announce
echo &quot;1&quot; &gt;/proc/sys/net/ipv4/conf/all/arp_ignore
echo &quot;2&quot; &gt;/proc/sys/net/ipv4/conf/all/arp_announce
;;
stop)
/sbin/ifconfig lo:0 down
echo &quot;close LVS RealServer&quot;
echo &quot;0&quot; &gt;/proc/sys/net/ipv4/conf/lo/arp_ignore
echo &quot;0&quot; &gt;/proc/sys/net/ipv4/conf/lo/arp_announce
echo &quot;0&quot; &gt;/proc/sys/net/ipv4/conf/all/arp_ignore
echo &quot;0&quot; &gt;/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo &quot;Usage: $0 &#123;start|stop&#125;&quot;
exit 1
esac
</pre>
<p>这里对配置文件里重要的一些项进行说明： </p>
<ul>
<li>vip(virtual ip)。直接路由模式的vip 必须跟服务器对外提供服务的ip 地址在同一个网段，并且lvs 负载均衡器和其他所有提供相同功能的服务器都使用这个vip.
<li>vip 被绑定在环回接口lo0:0 上，其广播地址是其本身，子网掩码是255.255.255.255。这与标准的网络地址设置有很大的不同。采用这种可变长掩码方式把网段划分成只含一个主机地址的目的是避免ip 地址冲突。
<li>echo “1”,echo “2” 这段的作用是抑制arp 广播。如果不做arp 抑制，将会有众多的机器向其他宣称：“嗨！我是奥巴马，我在这里呢！”，这样就乱套了。 </li>
</li>
</li>
</ul>
<p><a></a></p>
<h3>lvs 客户端验证 </h3>
<p>lvs 客户端不必依赖负载均衡器就可以独立运行，只不过这种运行对负载均衡没有任何作用，当然也没有任何副作用，所以我们把lvs 客户端配置完成后（配置文件就是一个shell 脚本），可以单独运行它，来检验配置是否正确。 </p>
<p>配置脚本写好保存，给予脚本执行权限。脚本启停以start 和stop 这两个参数来控制。首先，我们来启动配置脚本，执行命令 /usr/local/bin/lvs_real start ,接着我们来检查网络的状态:
<pre>#ip a
输出如下：
1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 16436 qdisc noqueue
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
   inet 10.130.41.231/32 brd 10.130.41.231 scope global lo:0
   inet6 ::1/128 scope host
      valid_lft forever preferred_lft forever
2: eth0: &lt;BROADCAST,MULTICAST&gt; mtu 1500 qdisc noop qlen 1000
   link/ether 00:1d:60:98:e9:ea brd ff:ff:ff:ff:ff:ff
3: eth1: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc pfifo_fast qlen 100
   link/ether 00:1d:60:98:e9:eb brd ff:ff:ff:ff:ff:ff
   inet 10.130.41.239/24 brd 10.130.41.255 scope global eth1
   inet6 fe80::21d:60ff:fe98:e9eb/64 scope link
      valid_lft forever preferred_lft forever
4: sit0: &lt;NOARP&gt; mtu 1480 qdisc noop
   link/sit 0.0.0.0 brd 0.0.0.0
</pre>
<p>从输出可以看出， lo0:0 确实绑定了我们指定的vip 地址。那么当我们执行/usr/local/bin/lvs_real 时，vip 应当从lo0:0 接口卸载。 </p>
<p><a></a></p>
<h1>LVS的核心IPVS </h1>
<p>IPVS(IP Virtual Server)是整个负载均衡的基础，如果没有这个基础，故障隔离与失败切换就毫无意义了。IPVS 具体实现是由ipvsadm 这个程序来完成。 </p>
<p><a></a></p>
<h2>CentOS上安装ipvsadm </h2>
<pre>#mkdir ~/download
#mkdir ~/tools
#cd ~/download
#wget <a href="http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz">http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz</a>
#tar -xvzf ipvsadm-1.24.tar.gz -C ../tools
#cd ~/tools/ipvsadm-1.24
#ln -s /usr/src/kernels/`uname -r`-`uname -m`/ /usr/src/linux
#make
#make install
</pre>
<p>可执行文件被安装到/sbin/ipvsadm </p>
<p><a></a></p>
<h3>检验ipvsadm 是否被正确安装 </h3>
<p>执行ipvsadm，并检查当前加载的内核模块，看是否存在ip_vs 模块
<pre>#ipvsadm
#lsmod|grep ip_vs
</pre>
<p>注1、只有执行ipvsadm 以后，才会在内核加载ip_vs 模块。 </p>
<p>注2、不能以查进程的方式判断ipvs 是否运行。 </p>
<p><a></a></p>
<h1>故障隔离、失败切换框架keepalived </h1>
<p>keepalived在这里主要作用是Realserver的健康状态检查以及负载均衡Master机和Backup主机之间失败切换的实现。 </p>
<p><a></a></p>
<h2>安装keepalived </h2>
<pre>#cd ~/download
#wget <a href="http://www.keepalived.org/software/keepalived-1.1.20.tar.gz">http://www.keepalived.org/software/keepalived-1.1.20.tar.gz</a>
#tar -xvzf keepalived-1.1.20.tar.gz -C ../tools
#cd ~/tools/keepalived-1.1.20
#ln -s /usr/src/kernels/`uname -r`-`uname -m`/ /usr/src/linux
#./configure --prefix=/usr --sysconf=/etc
#make
#make install
</pre>
<p><a></a></p>
<h2>配置在主负载均衡服务器上配置keepalived.conf </h2>
<pre>! Configuration File for keepalived

global_defs &#123;
  router_id LVS_CCOD_1
&#125;
vrrp_sync_group VGM &#123;
  group &#123;
    VI_1
  &#125;
&#125;
vrrp_instance VI_1 &#123;
  state MASTER
  interface eth0
  virtual_router_id 51
  priority 100
  advert_int 1
  authentication &#123;
    auth_type PASS
    auth_pass 1111
  &#125;
  virtual_ipaddress &#123;
    10.130.41.231
  &#125;
&#125;

virtual_server 10.130.41.231 80 &#123;
  delay_loop 6
  lb_algo wlc
  lb_kind DR
  nat_mask 255.255.255.0
  persistence_timeout 50
  protocol TCP
  real_server 10.130.41.253 80 &#123;
    weight 1
    TCP_CHECK &#123;
      nb_get_retry 3
      delay_before_retry 3
      connect_port 80
      connect_timeout 10
    &#125;
  &#125;
  real_server 10.130.41.239 80 &#123;
    weight 1
    TCP_CHECK &#123;
      nb_get_retry 3
      delay_before_retry 3
      connect_port 80
      connect_timeout 10
    &#125;
  &#125;
&#125;
</pre>
<p>注意： </p>
<ul>
<li>实例状态state.只有MASTER 和BACKUP 两种状态，并且需要大写这些单词。其中MASTER 为工作状态，BACKUP 为备用状态。当MASTER 所在的服务器失效时，BACKUP 所在的系统会自动把它的状态有BACKUP 变换成MASTER；当失效的MASTER 所在的系统恢复时，BACKUP 从MASTER 恢复到BACKUP 状态。
<li>虚拟路由标识virtual_router_id.这个标识是一个数字，并且同一个vrrp 实例使用唯一的标识。即同一个vrrp_stance,MASTER 和BACKUP 的virtual_router_id 是一致的，同时在整个vrrp 内是唯一的。
<li>优先级priority.这是一个数字，数值愈大，优先级越高。在同一个vrrp_instance里，MASTER 的优先级高于BACKUP。若MASTER 的priority 值为150，那么BACKUP的priority 只能是140 或更小的数值。
<li>同步通知间隔 advert_int .MASTER 与BACKUP 负载均衡器之间同步检查的时间间隔，单位为秒。
<li>delay_loop。健康检查时间间隔，单位是秒。
<li>lb_algo. 负载均衡调度算法，互联网应用常使用wlc 或rr。
<li>lb_kind. 负载均衡转发规则。一般包括DR,NAT,TUN3 种，在我的方案中，都使用DR 的方式。
<li>persistence_timeout.会话保持时间，单位是秒。
<li>权重weight.权重值是一个数字，数值越大，权重越高。使用不同的权重值的目的在于为不同性能的机器分配不同的负载，性能较好的机器，负载分担大些；反之，性能差的机器，则分担较少的负载，这样就可以合理的利用不同性能的机器资源。 </li>
</li>
</li>
</li>
</li>
</ul>
<p><a></a></p>
<h2>配置在备份负载均衡服务器上配置keepalived.conf </h2>
<p>在这样只有一个vrrp_instance 的环境里，主负载均衡器(MASTER)与备份负载均衡器（BACKUP）配置文件的差异一共只有3 处: 全局定义的route_id、vrrp_instance state 已经vrrp_instance 的优先级priority。 </p>
<p><a></a></p>
<h3>启动keepalived 服务 </h3>
<ol>
<li>/etc/init.d/keepalived start 启动keepalived 服务，keepalived就能利用keepalived.conf 配置文件，实现负载均衡和高可用. </li>
</ol>
<p><a></a></p>
<h3>查看lvs服务是否正常 </h3>
<p>1. #ipvsadm –ln </p>
<p>输出如下：
<pre>IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
 -&gt; RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.130.41.231:80 wlc persistent 50
 -&gt; 10.130.41.239:80             Route   1      0          0
 -&gt; 10.130.41.253:80             Route   1      0          0
</pre>
<p>2. #tail –f /var/log/message 监听日志，查看状态。 </p>
<p><a></a></p>
<h3>转发功能测试 </h3>
<ul>
<li>在本地计算机的浏览器地址栏输入 <a href="http://10.130.41.231">http://10.130.41.231</a> ，看网站默认页是否能正常访问
<li>如果想知道当前测试机的访问请求被转发到那个服务器去了，可以在ipvsadm 命令后带一个选项，其完整形式为：ipvsadm –lcn </li>
</li>
</ul>
<p><a></a></p>
<h3>故障隔离（健康检查）功能测试 </h3>
<ul>
<li>关闭真实服务器10.130.41.239 的httpd 服务
<li>tail -f /var/log/message 系统日志也会有被删除的消息打印出来
<li>执行ipvsadm -ln 输出此时没有239的机器了。 </li>
</li>
</li>
</ul>
<p><a></a></p>
<h3>失败切换（FailOver）测试 </h3>
<ul>
<li>关闭主负载均衡器（MASTER）的keepalived 进程，然后从客户端访问vip 地址。方法是在本地计算机的浏览器地址栏输入 <a href="http://10.130.41.231">http://10.130.41.231</a> ，看网站默认页是否能正常访问
<li>正常情况下，当主负载均衡器（MASTER）实效时，备份负载均衡器（BACKUP）能立即接替转发任务（接替时间由keepalived.conf 文件的advert_int 指定）。在确认主负载均衡器（MASTER）的keepalived 进程关闭后，我们来看看备份负载均衡器的运行情况。这里我们观察两个地方：ipvsadm 的输出及系统日志的输出。 </li>
</li>
</ul>
<p><a></a></p>
<h1><strong>参考</strong> </h1>
<ul>
<li>keepalived 相关参考资料
<ul>
<li><a href="http://www.keepalived.org/documentation.html">http://www.keepalived.org/documentation.html</a>
<li>主要参考：LVS + Keepalived Chinese application doc <a href="http://www.keepalived.org/sery-lvs-cluster.pdf">http://www.keepalived.org/sery-lvs-cluster.pdf</a></li>
</li>
</ul>
<li>利用LVS+Keepalived 实现高性能高可用负载均衡 <a href="http://wenku.baidu.com/view/06e497868762caaedd33d469.html">http://wenku.baidu.com/view/06e497868762caaedd33d469.html</a>
<li>IP虚拟服务器软件IPVS <a href="http://www.linuxvirtualserver.org/zh/lvs1.html">http://www.linuxvirtualserver.org/zh/lvs1.html</a></li>
<ul>
<li>IPVS软件实现了这三种IP负载均衡技术
<li>IPVS调度器实现了如下八种负载调度算法 &quot;</li>
</li>
</ul>
</li>
</li>
</ul>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fangyuncn.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fangyuncn.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fangyuncn.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fangyuncn.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fangyuncn.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fangyuncn.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fangyuncn.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fangyuncn.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fangyuncn.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fangyuncn.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fangyuncn.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fangyuncn.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fangyuncn.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fangyuncn.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=7&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fangyuncn.wordpress.com/2010/08/26/lvskeepalived-%e5%ae%9e%e7%8e%b0%e8%b4%9f%e8%bd%bd%e5%9d%87%e8%a1%a1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c8528ec9cf87b6776ea2c3e3c9a78261?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fangyuncn</media:title>
		</media:content>

		<media:content url="http://fangyuncn.files.wordpress.com/2010/08/virtual_server5b45d.jpg?w=300" medium="image">
			<media:title type="html">virtual_server</media:title>
		</media:content>
	</item>
		<item>
		<title>Java SE6技术变更明细表</title>
		<link>http://fangyuncn.wordpress.com/2010/08/26/java-se6%e6%8a%80%e6%9c%af%e5%8f%98%e6%9b%b4%e6%98%8e%e7%bb%86%e8%a1%a8/</link>
		<comments>http://fangyuncn.wordpress.com/2010/08/26/java-se6%e6%8a%80%e6%9c%af%e5%8f%98%e6%9b%b4%e6%98%8e%e7%bb%86%e8%a1%a8/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 10:27:59 +0000</pubDate>
		<dc:creator>fangyuncn</dc:creator>
				<category><![CDATA[计算机.编程.Java]]></category>

		<guid isPermaLink="false">http://fangyuncn.wordpress.com/2010/08/26/java-se6%e6%8a%80%e6%9c%af%e5%8f%98%e6%9b%b4%e6%98%8e%e7%bb%86%e8%a1%a8</guid>
		<description><![CDATA[Java SE6技术变更明细表 jsr 较大功能或功能集，拥有自己的JSR（Java Specification Request） api 添加了新的API的较小功能 imp 不涉及到新API的增强实现。比如：性能提升 范围 领域/组件 摘要 参考 api client/2d ImageIO: GIF writer 4339415 imp client/2d Native Text Rendering Parity 4726365 imp client/2d Improved hardware acceleration on Windows 5104393 imp client/2d Single-threaded rendering for &#8230; <a href="http://fangyuncn.wordpress.com/2010/08/26/java-se6%e6%8a%80%e6%9c%af%e5%8f%98%e6%9b%b4%e6%98%8e%e7%bb%86%e8%a1%a8/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=8&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!29C7193178944F5A!2016" class="bvMsg">
<table cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td width="72"></td>
<td width="597"><strong>Java SE6技术变更明细表</strong></td>
<td width="72"></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td width="72">jsr</td>
<td>较大功能或功能集，拥有自己的JSR（Java Specification Request）</td>
<td></td>
</tr>
<tr>
<td>api</td>
<td>添加了新的API的较小功能</td>
<td></td>
</tr>
<tr>
<td>imp</td>
<td>不涉及到新API的增强实现。比如：性能提升</td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td width="72"><a>范围</a></td>
<td width="179">领域/组件</td>
<td width="418">摘要</td>
<td width="72">参考</td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">client/2d</td>
<td width="418">ImageIO: GIF writer</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4339415">4339415</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/2d</td>
<td width="418">Native Text Rendering Parity</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4726365">4726365</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/2d</td>
<td width="418">Improved hardware acceleration on Windows</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5104393">5104393</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/2d</td>
<td width="418">Single-threaded rendering for OpenGL pipelines</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6219284">6219284</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">client/awt</td>
<td width="418">Pop-up splash screen at beginning of Java startup(在Java启动时弹出图片)</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4247839">4247839</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">client/awt</td>
<td width="418">Java applications can access desktop applications（Java应用能够访问桌面应用。比如说浏览器，邮件收发器，编辑器等等）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6255196">6255196</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">client/awt</td>
<td width="418">Improved modal dialogs</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4080029">4080029</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/awt</td>
<td width="418">XAWT is the default Toolkit on Solaris</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5049146">5049146</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">client/awt</td>
<td width="418">Windows system-tray support（Windows系统托盘支持）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4310333">4310333</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/awt</td>
<td width="418">Better support for input in non-English locales</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4360364">4360364</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/awt</td>
<td width="418">Live resizing</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6199167">6199167</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/deploy</td>
<td width="418">Improved application deployment across browsers</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6329487">6329487</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">client/deploy</td>
<td width="418">Allow JAR files to be shared across installed JREs（容许JAR文件跨JRE共享）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6271065">6271065</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/deploy</td>
<td width="418">Improved user experience in JRE/JDK installer</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5079209">5079209</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/deploy</td>
<td width="418">Improved security</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6222485">6222485</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/deploy</td>
<td width="418">Direct execution of JAR files on Linux</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6211008">6211008</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/deploy</td>
<td width="418">Improved desktop integration in Java Web Start</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4625362">4625362</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/deploy</td>
<td width="418">Improved IFTW installer</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6198632">6198632</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/deploy</td>
<td width="418">Improved startup &amp; footprint for plugin/webstart</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6329480">6329480</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/deploy</td>
<td width="418">Mozilla Firefox browser support</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6216340">6216340</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/deploy</td>
<td width="418">Default Java on Linux</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6211006">6211006</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/deploy</td>
<td width="418">Improved user experience in Java Plug-in and Java Web Start</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6205064">6205064</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/deploy</td>
<td width="418">Unified download engine</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4802551">4802551</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/deploy</td>
<td width="418">Support Mozilla and Firefox family browsers.</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6216340">6216340</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">client/dnd</td>
<td width="418">A way to avoid hangs on retrieval of clipboard data</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4818143">4818143</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/i18n</td>
<td width="418">Support for important locales</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4324505">4324505</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/i18n</td>
<td width="418">Japanese calendar</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4609228">4609228</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">client/i18n</td>
<td width="418">Resource bundle enhancements</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5102289">5102289</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">client/i18n</td>
<td width="418">Normalizer API</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4221795">4221795</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">client/i18n</td>
<td width="418">Pluggable locales: Pluggability for break iterators</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4052440">4052440</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">client/i18n</td>
<td width="418">Pluggable locales: Pluggability for locale names, formatters, and collators</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4052440">4052440</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/l10n</td>
<td width="418">Chinese localization for JDK tools（JDK工具的中文本地化）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6209342">6209342</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/swing</td>
<td width="418">GTK Native L&amp;F Fidelity</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6185456">6185456</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/swing</td>
<td width="418">Through-the-stack: Reduced footprint / startup time</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6329480">6329480</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/swing</td>
<td width="418">Native look &amp; feel fidelity</td>
<td width="72"></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/swing</td>
<td width="418">Avalon Look-and-Feel</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6329475">6329475</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">client/swing</td>
<td width="418">JTable sorting, filtering, and highlighting</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4747079">4747079</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">client/swing</td>
<td width="418">JTabbedPane: Tabs as Components</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4499556">4499556</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/swing</td>
<td width="418">Windows native L&amp;F fidelity</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5106661">5106661</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">client/swing</td>
<td width="418">SwingWorker</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4681682">4681682</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">client/swing</td>
<td width="418">Improve Drag &amp; Drop features for Swing Components</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4468566">4468566</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">client/swing</td>
<td width="418">Extend SpringLayout</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4726194">4726194</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">client/swing</td>
<td width="418">Text Document Printing</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4791649">4791649</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">client/swing</td>
<td width="418">Improved Painting Performance (fix grey boxes)</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4967886">4967886</a></td>
</tr>
<tr>
<td width="72">jsr</td>
<td width="179">core/core</td>
<td width="418"><a href="http://jcp.org/en/jsr/detail?id=223">JSR 223: Scripting for the Java Platform（Java平台的脚本支持）</a></td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6249843">6249843</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/debug</td>
<td width="418">Multiple Simultaneous Agents</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4772582">4772582</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/debug</td>
<td width="418">Added Heap Capabilities to JPDA</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4914266">4914266</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/debug</td>
<td width="418">Attach-on-demand</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6173612">6173612</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/debug</td>
<td width="418">JVMPI and JVMDI have been removed.</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4914266">4914266</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/jndi</td>
<td width="418">Read-timeout specification for LDAP operations</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6176036">6176036</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/libs</td>
<td width="418">Array Reallocation API（数组再分配的API）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4655503">4655503</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">core/libs</td>
<td width="418">BigDecimal optimizations for specjbb++</td>
<td width="72"></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/libs</td>
<td width="418">Floating point: Add IEEE 754 recommended functions to java.lang.&#123;&#123;,Strict&#125;Math&#125;</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4406429">4406429</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/libs</td>
<td width="418">Standard service-provider API (java.util.Service)</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4640520">4640520</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/libs</td>
<td width="418">Collections and Concurrency Updates（集合与同步更新）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6268386">6268386</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/libs</td>
<td width="418">IO Enhancement: Password Prompting（密码提示）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4050435">4050435</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/libs</td>
<td width="418">IO Enhancement: File Attributes（文件属性）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6216563">6216563</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/libs</td>
<td width="418">IO Enhancement: Method for Discovering Free Disk Space（查询磁盘剩余空间）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4057701">4057701</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">core/libs</td>
<td width="418">IO Enhancement: Long pathnames on Windows（Windows下的长路径名）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4403166">4403166</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/libs</td>
<td width="418">Low-level Java compiler API for IDEs</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4813736">4813736</a></td>
</tr>
<tr>
<td width="72">jsr</td>
<td width="179">core/libs</td>
<td width="418"><a href="http://jcp.org/en/jsr/detail?id=202">JSR 202: Java Class File Specification Update</a></td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4639391">4639391</a></td>
</tr>
<tr>
<td width="72">jsr</td>
<td width="179">core/libs</td>
<td width="418"><a href="http://jcp.org/en/jsr/detail?id=199">JSR 199: Java compiler API（Java编译器API）</a></td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4164450">4164450</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">core/libs</td>
<td width="418">Improved perceived footprint</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6280693">6280693</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/libs</td>
<td width="418">Deques（双向队列）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6192552">6192552</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/libs</td>
<td width="418">Navigable Maps and Sets（导向Map与Set）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4155650">4155650</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">core/libs</td>
<td width="418">BitSet Updates</td>
<td width="72">4963875, 4979017, 4979028, 4979031, 5030267, 6222207, 6404711</td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">core/libs</td>
<td width="418">Performance Improvements when compiling using network file systems</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4770745">4770745</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">core/m&amp;m</td>
<td width="418">Improved diagnosability of OutOfMemoryError</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6173515">6173515</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/m&amp;m</td>
<td width="418">Generic annotations for MBean descriptor contents</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6221321">6221321</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/m&amp;m</td>
<td width="418">Support for java.util.concurrent locks in the lock related facility</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5086470">5086470</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">core/m&amp;m</td>
<td width="418">jconsole is more user-friendly（jconsole更加用户友好）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6174397">6174397</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/m&amp;m</td>
<td width="418">Small-scale improvements to JMX Monitor API</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6222961">6222961</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/m&amp;m</td>
<td width="418">descriptors added to all types of MBean</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6204469">6204469</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/m&amp;m</td>
<td width="418">MXBeans added to JMX</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6175517">6175517</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/net</td>
<td width="418">Light-weight HTTP server（轻量级的HTTP server）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6270015">6270015</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/net</td>
<td width="418">Internationalized resource identifiers</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5085902">5085902</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/net</td>
<td width="418">Default CookieManager implementation（缺省的CookieManager实现）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6244040">6244040</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">core/net</td>
<td width="418">SPNEGO HTTP authentication</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6260531">6260531</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/net</td>
<td width="418">International domain names</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4737170">4737170</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/net</td>
<td width="418">Programmatic access to network parameters（访问网络的参数的API）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4691932">4691932</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">core/sec</td>
<td width="418">Native platform GSS integration</td>
<td width="72">6202035, 6345202</td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">core/sec</td>
<td width="418">SPNEGO in Java GSS</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6239635">6239635</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">core/sec</td>
<td width="418">MS CAPI Keystore provider</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6318171">6318171</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">core/sec</td>
<td width="418">Better support for NSS keystore</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6273877">6273877</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">core/sec</td>
<td width="418">Improved Policy performance</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5037004">5037004</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">core/sec</td>
<td width="418"><a href="http://jcp.org/en/jsr/detail?id=268">JSR 268: Java Smart Card I/O API</a></td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6239117">6239117</a></td>
</tr>
<tr>
<td width="72">jsr</td>
<td width="179">core/sec</td>
<td width="418"><a href="http://jcp.org/en/jsr/detail?id=105">JSR 105: XML Dsig（XML数字签名API）</a></td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4635230">4635230</a></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">core/sec</td>
<td width="418">Enhance certificate APIs</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4635060">4635060</a></td>
</tr>
<tr>
<td width="72">jsr</td>
<td width="179">core/tools</td>
<td width="418"><a href="http://jcp.org/en/jsr/detail?id=269">JSR 269: Standard pluggabilty API for annotation processors (APT)</a></td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6222574">6222574</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">core/tools</td>
<td width="418">javac: Support for split verification</td>
<td width="72">6227862, 6227862, 5110170, 5110184, 6217263</td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">core/tools</td>
<td width="418"><a href="http://jcp.org/en/jsr/detail?id=175">javac: Implement JSR 175&#8242;s java.lang.SuppressWarnings</a></td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4986256">4986256</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">core/tools</td>
<td width="418">Class-path wildcards（Class-path的通配符）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6268383">6268383</a></td>
</tr>
<tr>
<td width="72">jsr</td>
<td width="179">ee/ee</td>
<td width="418"><a href="http://jcp.org/en/jsr/detail?id=250">JSR 250: Common annotations</a></td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6304697">6304697</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">ee/jdbc</td>
<td width="418">Extended JDBC-ODBC bridge to enable JDBC 4.0 EoD features</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6290312">6290312</a></td>
</tr>
<tr>
<td width="72">jsr</td>
<td width="179">ee/jdbc</td>
<td width="418"><a href="http://jcp.org/en/jsr/detail?id=221">JSR 221: JDBC 4.0</a></td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6290312">6290312</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">ee/xml</td>
<td width="418"><a href="http://jcp.org/en/jsr/detail?id=206">JAXP 1.4,JSR 206: Java API for XML Processing</a></td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6317994">6317994</a></td>
</tr>
<tr>
<td width="72">jsr</td>
<td width="179">ee/xml</td>
<td width="418">Support for the Web Services stack</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6245626">6245626</a></td>
</tr>
<tr>
<td width="418"></td>
</tr>
<tr>
<td width="418"><a href="http://jcp.org/en/jsr/detail?id=222">JSR 222: JAXB 2.0</a></td>
</tr>
<tr>
<td width="418"><a href="http://jcp.org/en/jsr/detail?id=224">JSR 224: JAX-RPC 2.0</a></td>
</tr>
<tr>
<td width="418"><a href="http://jcp.org/en/jsr/detail?id=173">JSR 173: STAX</a></td>
</tr>
<tr>
<td width="418"><a href="http://jcp.org/en/jsr/detail?id=181">JSR 181: Web Services Metadata</a></td>
</tr>
<tr>
<td width="418"></td>
</tr>
<tr>
<td width="72">api</td>
<td width="179">ee/xml</td>
<td width="418">JavaBeans Activation Framework (JAF)</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6254474">6254474</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">vm/compilers</td>
<td width="418">Improved performance of compiled code(提升编译后的代码性能)</td>
<td width="72">5079711, 6206844, 6239807, 4850474,</td>
</tr>
<tr>
<td width="72">5003419, 5004907, 5101346, 6190413, 6191063,</td>
</tr>
<tr>
<td width="72">6196383, 6196722, 6211497, 6232485, 6233627, 6245809,</td>
</tr>
<tr>
<td width="72">6251002, 6262235,</td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">vm/c1</td>
<td width="418">Linear scan register allocator for C1</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6320351">6320351</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">vm/c2</td>
<td width="418">Improved loop optimization</td>
<td width="72">5073662, 5074608, 5091921, 6260293</td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">vm/c2</td>
<td width="418">Escape analysis</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6339956">6339956</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">vm/c2</td>
<td width="418">Lock coarsening</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6245809">6245809</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">vm/gc</td>
<td width="418">CMS: Parallelize concurrent marking</td>
<td width="72"></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">vm/gc</td>
<td width="418">Parallel compaction</td>
<td width="72"></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">vm/runtime</td>
<td width="418">Improve uncontended synchronization performance</td>
<td width="72"></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">vm/runtime</td>
<td width="418">Improved performance of contended synchronization operations</td>
<td width="72"></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">vm/runtime</td>
<td width="418">Faster format checker/class-file parser（更快的格式检查与类文件解析）</td>
<td width="72"></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">vm/runtime</td>
<td width="418">Improved startup time（提升启动速度）</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6179212">6179212</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">vm/runtime</td>
<td width="418">Improved runtime performance（提升运行性能）</td>
<td width="72"></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">vm/runtime</td>
<td width="418">Improved JNI performance</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5086424">5086424</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">vm/runtime</td>
<td width="418">Class circularity detection</td>
<td width="72"><a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4699981">4699981</a></td>
</tr>
<tr>
<td width="72">imp</td>
<td width="179">vm/runtime</td>
<td width="418">DTrace support in the VM</td>
<td width="72"></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td width="741">参考链接：</td>
</tr>
<tr>
<td></td>
<td><a href="http://java.sun.com/javase/6/webnotes/features.html">http://java.sun.com/javase/6/webnotes/features.html</a></td>
</tr>
<tr>
<td></td>
<td><a href="http://java.sun.com/javase/6/webnotes/adoption/adoptionguide.html">http://java.sun.com/javase/6/webnotes/adoption/adoptionguide.html</a></td>
</tr>
</tbody>
</table></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fangyuncn.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fangyuncn.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fangyuncn.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fangyuncn.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fangyuncn.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fangyuncn.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fangyuncn.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fangyuncn.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fangyuncn.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fangyuncn.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fangyuncn.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fangyuncn.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fangyuncn.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fangyuncn.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=8&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fangyuncn.wordpress.com/2010/08/26/java-se6%e6%8a%80%e6%9c%af%e5%8f%98%e6%9b%b4%e6%98%8e%e7%bb%86%e8%a1%a8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c8528ec9cf87b6776ea2c3e3c9a78261?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fangyuncn</media:title>
		</media:content>
	</item>
		<item>
		<title>同源策略与跨源资源共享以及替代解决方案</title>
		<link>http://fangyuncn.wordpress.com/2010/08/17/%e5%90%8c%e6%ba%90%e7%ad%96%e7%95%a5%e4%b8%8e%e8%b7%a8%e6%ba%90%e8%b5%84%e6%ba%90%e5%85%b1%e4%ba%ab%e4%bb%a5%e5%8f%8a%e6%9b%bf%e4%bb%a3%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/</link>
		<comments>http://fangyuncn.wordpress.com/2010/08/17/%e5%90%8c%e6%ba%90%e7%ad%96%e7%95%a5%e4%b8%8e%e8%b7%a8%e6%ba%90%e8%b5%84%e6%ba%90%e5%85%b1%e4%ba%ab%e4%bb%a5%e5%8f%8a%e6%9b%bf%e4%bb%a3%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 09:58:13 +0000</pubDate>
		<dc:creator>fangyuncn</dc:creator>
				<category><![CDATA[计算机与 Internet]]></category>

		<guid isPermaLink="false">http://fangyuncn.wordpress.com/2010/08/17/%e5%90%8c%e6%ba%90%e7%ad%96%e7%95%a5%e4%b8%8e%e8%b7%a8%e6%ba%90%e8%b5%84%e6%ba%90%e5%85%b1%e4%ba%ab%e4%bb%a5%e5%8f%8a%e6%9b%bf%e4%bb%a3%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88</guid>
		<description><![CDATA[1. 事实上，所有现代Server端脚本语言都支持远程请求，但在Client的脚本语言，如javascript，这一功能被禁止因为“同源策略”(Same Origin Policy)。 1.1 同源策略参考：http://en.wikipedia.org/wiki/Same_origin_policy 1.2 In computing, the same origin policy is an important security concept for a number of browser-side programming languages, such as JavaScript. The policy permits scripts running on pages originating from the same site &#8230; <a href="http://fangyuncn.wordpress.com/2010/08/17/%e5%90%8c%e6%ba%90%e7%ad%96%e7%95%a5%e4%b8%8e%e8%b7%a8%e6%ba%90%e8%b5%84%e6%ba%90%e5%85%b1%e4%ba%ab%e4%bb%a5%e5%8f%8a%e6%9b%bf%e4%bb%a3%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=9&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!29C7193178944F5A!2015" class="bvMsg">
<p><b>1. </b>事实上，所有现代Server端脚本语言都支持远程请求，但在Client的脚本语言，如javascript，这一功能被禁止因为“<b>同源策略</b>”(Same Origin Policy)。
<p>1.1 <b>同源策略</b>参考：<a href="http://en.wikipedia.org/wiki/Same_origin_policy">http://en.wikipedia.org/wiki/Same_origin_policy</a>
<p>1.2 In computing, the same origin policy is an important security concept for a number of browser-side programming languages, such as JavaScript. The policy permits scripts running on pages originating from the same site to access each other&#8217;s methods and properties with no specific restrictions, but prevents access to most methods and properties across pages on different sites.
<p>在计算机领域，同源策略对于众多浏览器端编程语言，例如javascript，是一非常重要的安全概念。这策略容许运行页面来源于同一网站的脚本没有特别限制的访问彼此的方法、属性，但禁止访问跨越不同网站的页面的大多数方法、属性。
<p>1.3 The term &quot;origin&quot; is defined using the domain name, application layer protocol, and (in most browsers) TCP port of the HTML document running the script. Two resources are considered to be of the same origin if and only if all these values are exactly the same.
<p>术语“源”用域名、应用层协议、TCP端口来定义。两个资源被认为是同源的当且仅当所有这些值相同。
<p><b></b>
<p><b>2. </b><b>跨源资源共享</b>(Cross-Origin Resource Sharing)， 参考： <a href="http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing">http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing</a> 和 http://www.w3.org/TR/cors/
<p>2.1 <b>Cross-Origin Resource Sharing </b>(CORS) is a browser technology specification, which defines ways for a web service to provide interfaces for sand boxed scripts coming from a different domain under same origin policy. CORS is a modern alternative to the <b>JSONP</b> pattern. While JSONP supports only the GET request method, CORS also supports other types of http requests. Using CORS enables a web programmer to use regular XMLHttpRequest which supports better error handling than JSONP. On the other hand, JSONP works on legacy browsers that do not have CORS support built into them. CORS is supported by most modern web browsers
<p><b>跨源资源共享</b>是浏览器技术规范，它定义了在同源策略下来源于不同域的沙箱脚本提供web服务的接口方式。跨源资源共享是JSONP模型的现代替代方式。对于JSONP支持GET方法，跨源资源共享则支持各种其它类型的请求。使用跨源资源共享技术让web开发者使用XMLHttpRequest，它比JSONP有更好的错误处理方式。另一方面讲，JSONP可以工作在那些不支持跨源资源共享的旧浏览器。跨源资源共享被支持大多数现代浏览器支持。
<p>2.2 当前支持跨源资源共享的浏览器有： Internet Explorer 8+, Firefox 3.5+, Safari 4+, and Chrome 。 参考：<a href="http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/">http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/</a>
<p>3. <b>跨源资源共享替代方案</b><b></b>
<p>3.1 JSONP方案，参考：<a href="http://en.wikipedia.org/wiki/JSONP#JSONP">http://en.wikipedia.org/wiki/JSONP#JSONP</a>
<p>3.2 使用Web代理，参考：http://developer.yahoo.com/javascript/howto-proxy.html
<p>3.3 使用IFRAME，参考：<a href="http://msdn.microsoft.com/en-us/library/bb735305.aspx">http://msdn.microsoft.com/en-us/library/bb735305.aspx</a> 和 <a href="http://blog.joycode.com/saucer/archive/2006/10/03/84572.aspx">http://blog.joycode.com/saucer/archive/2006/10/03/84572.aspx</a></p>
</p></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fangyuncn.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fangyuncn.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fangyuncn.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fangyuncn.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fangyuncn.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fangyuncn.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fangyuncn.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fangyuncn.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fangyuncn.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fangyuncn.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fangyuncn.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fangyuncn.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fangyuncn.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fangyuncn.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=9&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fangyuncn.wordpress.com/2010/08/17/%e5%90%8c%e6%ba%90%e7%ad%96%e7%95%a5%e4%b8%8e%e8%b7%a8%e6%ba%90%e8%b5%84%e6%ba%90%e5%85%b1%e4%ba%ab%e4%bb%a5%e5%8f%8a%e6%9b%bf%e4%bb%a3%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c8528ec9cf87b6776ea2c3e3c9a78261?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fangyuncn</media:title>
		</media:content>
	</item>
		<item>
		<title>家庭装修小记1</title>
		<link>http://fangyuncn.wordpress.com/2010/05/29/%e5%ae%b6%e5%ba%ad%e8%a3%85%e4%bf%ae%e5%b0%8f%e8%ae%b01/</link>
		<comments>http://fangyuncn.wordpress.com/2010/05/29/%e5%ae%b6%e5%ba%ad%e8%a3%85%e4%bf%ae%e5%b0%8f%e8%ae%b01/#comments</comments>
		<pubDate>Sat, 29 May 2010 15:13:25 +0000</pubDate>
		<dc:creator>fangyuncn</dc:creator>
				<category><![CDATA[生活]]></category>

		<guid isPermaLink="false">http://fangyuncn.wordpress.com/2010/05/29/%e5%ae%b6%e5%ba%ad%e8%a3%85%e4%bf%ae%e5%b0%8f%e8%ae%b01</guid>
		<description><![CDATA[现代生活，一个房子的空间不再只是满足遮风挡雨，有个温暖的家的需求了，而更多的是追求舒适、安逸，希望能在家庭空间找到更多的属于自己的温馨。 我们新家马上要交房了，也要经历家庭装修这一步了，所以先收集一些家庭装修的资料供学习参考。 土巴兔装修大学：http://www.to8to.com/yezhu/ CCTV2_交换空间_2009 http://www.verycd.com/topics/2731564/ 室内设计教程装修新宝典 http://www.jiazhuangpeixun.com/nl06.html<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=10&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!29C7193178944F5A!2010" class="bvMsg">
<p>现代生活，一个房子的空间不再只是满足遮风挡雨，有个温暖的家的需求了，而更多的是追求舒适、安逸，希望能在家庭空间找到更多的属于自己的温馨。</p>
<p>我们新家马上要交房了，也要经历家庭装修这一步了，所以先收集一些家庭装修的资料供学习参考。</p>
<ul>
<li>土巴兔装修大学：<a title="http://www.to8to.com/yezhu/" href="http://www.to8to.com/yezhu/">http://www.to8to.com/yezhu/</a>
<li>CCTV2_交换空间_2009 <a title="http://www.verycd.com/topics/2731564/" href="http://www.verycd.com/topics/2731564/">http://www.verycd.com/topics/2731564/</a>
<li>室内设计教程装修新宝典 <a title="http://www.jiazhuangpeixun.com/nl06.html" href="http://www.jiazhuangpeixun.com/nl06.html">http://www.jiazhuangpeixun.com/nl06.html</a></li>
</ul></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fangyuncn.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fangyuncn.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fangyuncn.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fangyuncn.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fangyuncn.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fangyuncn.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fangyuncn.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fangyuncn.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fangyuncn.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fangyuncn.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fangyuncn.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fangyuncn.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fangyuncn.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fangyuncn.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=10&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fangyuncn.wordpress.com/2010/05/29/%e5%ae%b6%e5%ba%ad%e8%a3%85%e4%bf%ae%e5%b0%8f%e8%ae%b01/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c8528ec9cf87b6776ea2c3e3c9a78261?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fangyuncn</media:title>
		</media:content>
	</item>
		<item>
		<title>SSL证书操作相关的命令</title>
		<link>http://fangyuncn.wordpress.com/2010/05/07/ssl%e8%af%81%e4%b9%a6%e6%93%8d%e4%bd%9c%e7%9b%b8%e5%85%b3%e7%9a%84%e5%91%bd%e4%bb%a4/</link>
		<comments>http://fangyuncn.wordpress.com/2010/05/07/ssl%e8%af%81%e4%b9%a6%e6%93%8d%e4%bd%9c%e7%9b%b8%e5%85%b3%e7%9a%84%e5%91%bd%e4%bb%a4/#comments</comments>
		<pubDate>Fri, 07 May 2010 10:46:14 +0000</pubDate>
		<dc:creator>fangyuncn</dc:creator>
				<category><![CDATA[计算机.编程]]></category>

		<guid isPermaLink="false">http://fangyuncn.wordpress.com/2010/05/07/ssl%e8%af%81%e4%b9%a6%e6%93%8d%e4%bd%9c%e7%9b%b8%e5%85%b3%e7%9a%84%e5%91%bd%e4%bb%a4</guid>
		<description><![CDATA[生成证书：keytool -genkey -keyalg RSA -alias tomcat_sso -dname &#34;cn=fy&#34; -storepass changeit 导出证书：keytool -export -alias tomcat_sso -file &#34;%JAVA_HOME%/jre/lib/security/tomcat_sso.crt&#34; -storepass changeit 导入证书：keytool -import -alias tomcat_sso -file &#34;%JAVA_HOME%/jre/lib/security/tomcat_sso.crt&#34; -keystore &#34;%JAVA_HOME%/jre/lib/security/cacerts&#34; -storepass changeit查看证书列表：keytool -list -keystore &#34;%JAVA_HOME%/jre/lib/security/cacerts&#34; -storepass changeit 删除证书：keytool -delete -alias tomcat_sso -keystore &#34;%JAVA_HOME%/jre/lib/security/cacerts&#34; -storepass &#8230; <a href="http://fangyuncn.wordpress.com/2010/05/07/ssl%e8%af%81%e4%b9%a6%e6%93%8d%e4%bd%9c%e7%9b%b8%e5%85%b3%e7%9a%84%e5%91%bd%e4%bb%a4/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=11&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!29C7193178944F5A!1791" class="bvMsg">
<p>生成证书：keytool -genkey -keyalg RSA -alias tomcat_sso -dname &quot;cn=fy&quot; -storepass changeit <br />导出证书：keytool -export -alias tomcat_sso -file &quot;%JAVA_HOME%/jre/lib/security/tomcat_sso.crt&quot; -storepass changeit <br />导入证书：keytool -import -alias tomcat_sso -file &quot;%JAVA_HOME%/jre/lib/security/tomcat_sso.crt&quot; -keystore &quot;%JAVA_HOME%/jre/lib/security/cacerts&quot; -storepass changeit<br />查看证书列表：keytool -list -keystore &quot;%JAVA_HOME%/jre/lib/security/cacerts&quot; -storepass changeit </p>
<p>删除证书：keytool -delete -alias tomcat_sso -keystore &quot;%JAVA_HOME%/jre/lib/security/cacerts&quot; -storepass changeit <br />删除证书：keytool -delete -alias tomcat_sso -storepass changeit</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fangyuncn.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fangyuncn.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fangyuncn.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fangyuncn.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fangyuncn.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fangyuncn.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fangyuncn.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fangyuncn.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fangyuncn.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fangyuncn.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fangyuncn.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fangyuncn.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fangyuncn.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fangyuncn.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fangyuncn.wordpress.com&amp;blog=16526428&amp;post=11&amp;subd=fangyuncn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fangyuncn.wordpress.com/2010/05/07/ssl%e8%af%81%e4%b9%a6%e6%93%8d%e4%bd%9c%e7%9b%b8%e5%85%b3%e7%9a%84%e5%91%bd%e4%bb%a4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c8528ec9cf87b6776ea2c3e3c9a78261?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fangyuncn</media:title>
		</media:content>
	</item>
	</channel>
</rss>
