<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feeds.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feeds.feedsky.com/csdn.net/snakeqi" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feeds.feedsky.com/csdn.net/snakeqi" type="application/rss+xml"></fs:self_link><lastBuildDate>Fri, 13 Mar 2009 10:51:00 GMT</lastBuildDate><title>snakeqi的专栏</title><link>http://blog.csdn.net/snakeqi/</link><item><title>事务隔离等级 和传播路径</title><link>http://blog.csdn.net/snakeqi/archive/2009/03/13/3986723.aspx</link><wfw:comment>http://blog.csdn.net/snakeqi/comments/3986723.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/snakeqi/comments/commentRss/3986723.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3986723</trackback:ping><description>隔离等级描述TransactionDefinition.ISOLATION_DEFAULT默认隔离等级&lt;br /&gt;TransactionDefinition.ISOLATION_READ_UNCOMMITTED&lt;br /&gt;最低隔离等级，仅仅保证了读取过程中不会读取到非法数据TransactionDefinition.ISOLATION_READ_COMMITTED&lt;br /&gt;某些数据库的默认隔离等级；保证了一个事务不会读到另外一个并行事务已修改但未提交的数据TransactionDefinition.ISOLATION_REPEATABLE_READ&lt;br /&gt;比上一个更加严格的隔离等级。保证了一个事务不会修改已经由另一个事务读取但未提交（回滚）的数据TransactionDefinition.ISOLATION_SERIALIZABLE性能代价最为昂贵，最可靠的隔离等级。所有事务都严格隔离，可视为各事务顺序执行&lt;br /&gt;&lt;br /&gt;传播途径(Propagation Behavior)&lt;br /&gt; Propagation Behavior&lt;br /&gt;描述&lt;br /&gt;Transact&lt;img src =&quot;http://blog.csdn.net/snakeqi/aggbug/3986723.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Fri, 13 Mar 2009 18:51:00 +0800</pubDate><author>snakeqi</author><comments>http://blog.csdn.net/snakeqi/archive/2009/03/13/3986723.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/snakeqi/archive/2009/03/13/3986723.aspx</guid><dc:creator>snakeqi</dc:creator></item><item><title>JDBC 事务级别</title><link>http://blog.csdn.net/snakeqi/archive/2009/03/11/3979055.aspx</link><wfw:comment>http://blog.csdn.net/snakeqi/comments/3979055.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/snakeqi/comments/commentRss/3979055.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3979055</trackback:ping><description>&lt;br /&gt;对于同时运行的多个事务，当这些事务访问数据库中相同的数据时，如果没有采取必要的隔离机制，就会导致各种并发问题，这些并发问题可归纳为以下几类：&lt;br /&gt;&lt;br /&gt;A.第一类丢失更新：撤销一个事务时，把其他事务已提交的更新数据覆盖。&lt;br /&gt;&lt;br /&gt;B.脏读：一个事务读到另一个事务为提交的更新数据。&lt;br /&gt;&lt;br /&gt;C.虚读：一个事务读到另一个事务已提交的新插入的数据。&lt;br /&gt;&lt;br /&gt;D.不可重复读：一个事务读到另一个事务已提交的更新数据。&lt;br /&gt;&lt;br /&gt;E.第二类丢失更新：这是不可重复读中的特例，一个事务覆盖另一个事务已提交的更新数据。&lt;br /&gt;&lt;br /&gt;数据库系统提供了四种事务隔离级别供用户选择：&lt;br /&gt;&lt;br /&gt;A.Serializable（串行化）：一个事务在执行过程中完全看不到其他事务对数据库所做的更新。&lt;br /&gt;&lt;br /&gt;B.Repeatable Read（可重复读）：一个事务在执行过程中可以看到其他事务已经提交的新插入的记录，但是不能看到其他其他事务对已有记录的更新。&lt;br /&gt;&lt;br /&gt;C.Read Commite&lt;img src =&quot;http://blog.csdn.net/snakeqi/aggbug/3979055.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Wed, 11 Mar 2009 18:29:00 +0800</pubDate><author>snakeqi</author><comments>http://blog.csdn.net/snakeqi/archive/2009/03/11/3979055.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/snakeqi/archive/2009/03/11/3979055.aspx</guid><dc:creator>snakeqi</dc:creator></item><item><title>ThreadLocal 介绍</title><link>http://blog.csdn.net/snakeqi/archive/2009/03/09/3971545.aspx</link><wfw:comment>http://blog.csdn.net/snakeqi/comments/3971545.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/snakeqi/comments/commentRss/3971545.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3971545</trackback:ping><description>&lt;br /&gt;早在Java 1.2推出之时，Java平台中就引入了一个新的支持：java.lang.ThreadLocal，给我们在编写多线程程序时提供了一种新的选择。使用这个工具类可以很简洁地编写出优美的多线程程序，虽然ThreadLocal非常有用，但是似乎现在了解它、使用它的朋友还不多。 &lt;br /&gt;&lt;br /&gt;　　ThreadLocal是什么&lt;br /&gt;&lt;br /&gt;　　ThreadLocal是什么呢？其实ThreadLocal并非是一个线程的本地实现版本，它并不是一个Thread，而是thread local variable（线程局部变量）。也许把它命名为ThreadLocalVar更加合适。线程局部变量（ThreadLocal）其实的功用非常简单，就是为每一个使用该变量的线程都提供一个变量值的副本，是每一个线程都可以独立地改变自己的副本，而不会和其它线程的副本冲突。从线程的角度看，就好像每一个线程都完全拥有该变量。线程局部变量并不是Java的新发明，在其它的一些语言编译器实现（如IBM XL FORTRAN）中，它在语言的层次提供了直接的支持。因为Java中没有提供在语言层次&lt;img src =&quot;http://blog.csdn.net/snakeqi/aggbug/3971545.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Mon, 09 Mar 2009 18:36:00 +0800</pubDate><author>snakeqi</author><comments>http://blog.csdn.net/snakeqi/archive/2009/03/09/3971545.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/snakeqi/archive/2009/03/09/3971545.aspx</guid><dc:creator>snakeqi</dc:creator></item><item><title>jsessionid释疑解惑</title><link>http://blog.csdn.net/snakeqi/archive/2009/03/03/3952594.aspx</link><wfw:comment>http://blog.csdn.net/snakeqi/comments/3952594.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/snakeqi/comments/commentRss/3952594.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3952594</trackback:ping><description>在web应用的开发中我们会经常看到这样的url：http://www.xxx.com/xxx_app;jsessionid=xxxxxxxxxx?a=x&amp;b=x...。这跟一般的url基本一样，只有一个地方有区别，那就是“;jessionid=xxxxxxxx”。这个参数有时候有，有时候又没有，说它是参数可又跟一般传递的参数不同，它是紧跟在url后面用分号来分隔的，用一般的request.getParameter()方法还取不到。那这个参数到底是干嘛用的呢？要了解它还要先了解session的实现方式。session的实现方式做web开发的同学都知道，http是无状态的会话协议，也就是说无法保存用户的信息。那如果有一些信息需要在用户的浏览活动中一直保持，该怎么做呢？我们可以把这些信息在每次请求的时候作为参数传递给服务器，但这样做既麻烦又耗费资源，这时候就体现出了session的重要性。session是web开发中不可或缺的一个特性。它是对于一个特定的用户请求，在web服务器上保存的一个全局变量。有了它我们就可以把用户的一些信息保存在服务器&lt;img src =&quot;http://blog.csdn.net/snakeqi/aggbug/3952594.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Tue, 03 Mar 2009 21:32:00 +0800</pubDate><author>snakeqi</author><comments>http://blog.csdn.net/snakeqi/archive/2009/03/03/3952594.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/snakeqi/archive/2009/03/03/3952594.aspx</guid><dc:creator>snakeqi</dc:creator></item><item><title>Exceptional Performance：高性能网站建设指南</title><link>http://blog.csdn.net/snakeqi/archive/2009/02/21/3916999.aspx</link><wfw:comment>http://blog.csdn.net/snakeqi/comments/3916999.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/snakeqi/comments/commentRss/3916999.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3916999</trackback:ping><description>原文地址：http://developer.yahoo.com/performance/      最近带队开发公司一个网站项目，由于是第一次带领团队进行开发，进行不是很顺利，很多方面没有考虑全面，感觉自己在网站开发方面还有很多地方需要提高。所以，今天上china-pub看看有没有什么网站建设方面的好书，看到了《高性能网站建设指南》感觉不错。看了书评，有评论说书价偏贵，书中列出了14条网站性能优化方面的建议，写这么大一本书有点浪费了，更好的是写成一份指南文档。遂放弃购买，转而在网上寻找相关资源。偶然看到了一篇文章《高性能网站建设指南》读后随感，发现优化指南已经从14条增加到34条，大感以外，马上根据链接找到了原文。原来这本书中的这些建议都是yahoo在网站开发中总结出来的经验，在yahoo开发社区中有专区列出。个人感觉这些建议是非常有价值的，为了能够更好的学习这些经验，有了念头把这些内容翻译出来。由于是第一次进行这样的翻译工作，难免会出错或者生涩难懂。所以为了更好的让大家理解，我会把原文都贴出，贴一段原文翻译一段，这样如果有错误或者不能理解的地方可&lt;img src =&quot;http://blog.csdn.net/snakeqi/aggbug/3916999.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Sat, 21 Feb 2009 20:08:00 +0800</pubDate><author>snakeqi</author><comments>http://blog.csdn.net/snakeqi/archive/2009/02/21/3916999.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/snakeqi/archive/2009/02/21/3916999.aspx</guid><dc:creator>snakeqi</dc:creator></item><item><title>Tomcat配置GZIP压缩给网站提速</title><link>http://blog.csdn.net/snakeqi/archive/2009/02/21/3916963.aspx</link><wfw:comment>http://blog.csdn.net/snakeqi/comments/3916963.aspx</wfw:comment><slash:comments>1</slash:comments><wfw:commentRss>http://blog.csdn.net/snakeqi/comments/commentRss/3916963.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3916963</trackback:ping><description>&lt;br /&gt;&lt;br /&gt;原文见：http://hi.baidu.com/zdz8207/blog/item/71afb235f516a18ea71e12e7.html&lt;br /&gt;打开conf/server.xml文件可以看到：&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;port=&quot;8080&quot;               maxHttpHeaderSize=&quot;8192&quot;&lt;br /&gt;               maxThreads=&quot;150&quot; minSpareThreads=&quot;25&quot; maxSpareThreads=&quot;75&quot;&lt;br /&gt;               enableLookups=&quot;false&quot; redirectPort=&quot;8443&quot; acceptCount=&quot;100&quot;&lt;br /&gt;               connectionTimeout=&quot;20000&quot; disableUploadTimeout=&quot;true&quot; /&gt;&lt;br /&gt;&lt;img src =&quot;http://blog.csdn.net/snakeqi/aggbug/3916963.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Sat, 21 Feb 2009 19:59:00 +0800</pubDate><author>snakeqi</author><comments>http://blog.csdn.net/snakeqi/archive/2009/02/21/3916963.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/snakeqi/archive/2009/02/21/3916963.aspx</guid><dc:creator>snakeqi</dc:creator></item><item><title>轻松实现Apache Tomcat集群和负载均衡（转载）</title><link>http://blog.csdn.net/snakeqi/archive/2009/02/21/3916944.aspx</link><wfw:comment>http://blog.csdn.net/snakeqi/comments/3916944.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/snakeqi/comments/commentRss/3916944.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3916944</trackback:ping><description>&lt;br /&gt;轻松实现Apache,Tomcat集群和负载均衡2006-11-18 12:15&lt;br /&gt;&lt;br /&gt; 作者:罗代均 ldj_work#126.com,转载请保持完整性&lt;br /&gt;0， 环境说明&lt;br /&gt;       Apache  :apache_2.0.55     1 个&lt;br /&gt;       Tomcat:  apache-tomcat-5.5.17 (zip版) 2个&lt;br /&gt;       mod_jk:: mod_jk-apache-2.0.55.so  1个&lt;br /&gt;第一部分：负载均衡&lt;br /&gt;    负载均衡，就是apache将客户请求均衡的分给tomcat1,tomcat2....去处理&lt;br /&gt;   1.安装apche,tomcat&lt;br /&gt;   http://httpd.apache.org/ 下载Apache 2.0.55&lt;br /&gt;    http://tomcat.apache.org/download-55.cgi 下载tomcat5.5 zip版本（解压即可，绿色版）&lt;br /&gt;   http://apache.justdn.&lt;img src =&quot;http://blog.csdn.net/snakeqi/aggbug/3916944.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Sat, 21 Feb 2009 19:52:00 +0800</pubDate><author>snakeqi</author><comments>http://blog.csdn.net/snakeqi/archive/2009/02/21/3916944.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/snakeqi/archive/2009/02/21/3916944.aspx</guid><dc:creator>snakeqi</dc:creator></item><item><title>用GZIP压缩JS和CSS文件，使网站访问加速</title><link>http://blog.csdn.net/snakeqi/archive/2009/02/21/3916927.aspx</link><wfw:comment>http://blog.csdn.net/snakeqi/comments/3916927.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/snakeqi/comments/commentRss/3916927.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3916927</trackback:ping><description>&lt;br /&gt;待完成&lt;img src =&quot;http://blog.csdn.net/snakeqi/aggbug/3916927.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Sat, 21 Feb 2009 19:45:00 +0800</pubDate><author>snakeqi</author><comments>http://blog.csdn.net/snakeqi/archive/2009/02/21/3916927.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/snakeqi/archive/2009/02/21/3916927.aspx</guid><dc:creator>snakeqi</dc:creator></item><item><title>好文收藏</title><link>http://blog.csdn.net/snakeqi/archive/2009/02/20/3912471.aspx</link><wfw:comment>http://blog.csdn.net/snakeqi/comments/3912471.aspx</wfw:comment><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/snakeqi/comments/commentRss/3912471.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3912471</trackback:ping><description>使用 AppFuse 的七个理由http://www.ibm.com/developerworks/cn/java/j-appfuse/index.htmlTomcat性能的测试http://tech.it168.com/j/2007-07-21/200707211403078.shtml&lt;img src =&quot;http://blog.csdn.net/snakeqi/aggbug/3912471.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Fri, 20 Feb 2009 08:29:00 +0800</pubDate><author>snakeqi</author><comments>http://blog.csdn.net/snakeqi/archive/2009/02/20/3912471.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/snakeqi/archive/2009/02/20/3912471.aspx</guid><dc:creator>snakeqi</dc:creator></item><item><title>HessianProtocolException问题的解决</title><link>http://blog.csdn.net/snakeqi/archive/2009/02/13/3887499.aspx</link><wfw:comment>http://blog.csdn.net/snakeqi/comments/3887499.aspx</wfw:comment><slash:comments>1</slash:comments><wfw:commentRss>http://blog.csdn.net/snakeqi/comments/commentRss/3887499.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=3887499</trackback:ping><description>&lt;br /&gt;目前完成的一个项目中，两个应用之间通讯使用了spring的Hessian remote方法，在remote 接口中有一个方法的调用老是抛出异常：&lt;br /&gt;com.caucho.hessian.io.HessianProtocolException: expected string at 0x6d&lt;br /&gt;        at com.caucho.hessian.io.Hessian2Input.error(Hessian2Input.java:2714)&lt;br /&gt;        at com.caucho.hessian.io.Hessian2Input.expect(Hessian2Input.java:2695)&lt;br /&gt;        at com.caucho.hessian.io.Hessian2Input.readString(Hessian2Input.java:1322)&lt;br /&gt;        at com.caucho.hessian.io.Hessian2Input.readMethod(Hessian2Input.java:267)&lt;br /&gt;&lt;img src =&quot;http://blog.csdn.net/snakeqi/aggbug/3887499.aspx&quot; width = &quot;1&quot; height = &quot;1&quot; /&gt;</description><pubDate>Sat, 14 Feb 2009 00:00:00 +0800</pubDate><author>snakeqi</author><comments>http://blog.csdn.net/snakeqi/archive/2009/02/13/3887499.aspx#Feedback</comments><guid isPermaLink="false">http://blog.csdn.net/snakeqi/archive/2009/02/13/3887499.aspx</guid><dc:creator>snakeqi</dc:creator></item></channel></rss>