<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[iteye_4538的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/iteye_4538</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; iteye_4538]]></copyright><item><title><![CDATA[NoClassDefFoundError与ClassNotFoundException的区别]]></title><link>https://blog.youkuaiyun.com/iteye_4538/article/details/82605178</link><guid>https://blog.youkuaiyun.com/iteye_4538/article/details/82605178</guid><author>iteye_4538</author><pubDate>Tue, 23 Sep 2014 00:11:18 +0800</pubDate><description><![CDATA[[b]相同点：[/b]
1、NoClassDefFoundError和ClassNotFoundException都是类运行时出错。

2、都和classpath有关。

[b]不同点：[/b]
1、ClassNotFoundException继承java.lang.Exception，是一种受检异常(checked exception)，需要显式地使用try/catch来进行处理。通...]]></description><category></category></item><item><title><![CDATA[XSS蠕虫攻击]]></title><link>https://blog.youkuaiyun.com/iteye_4538/article/details/82605164</link><guid>https://blog.youkuaiyun.com/iteye_4538/article/details/82605164</guid><author>iteye_4538</author><pubDate>Mon, 22 Sep 2014 22:40:57 +0800</pubDate><description><![CDATA[XSS (cross-site scripting)，即跨站脚本攻击，它的本质还是一种“HTML注入”，用户的数据被当成了HTML代码一部分来执行，从而混淆了原本的语义，产生了新的语义。

来看一张某网站遭受XSS攻击后的图片，
[img]http://dl2.iteye.com/upload/attachment/0101/3717/a83f235a-329f-30b0-9f85-3aa7...]]></description><category></category></item><item><title><![CDATA[一致性哈希算法]]></title><link>https://blog.youkuaiyun.com/iteye_4538/article/details/82605155</link><guid>https://blog.youkuaiyun.com/iteye_4538/article/details/82605155</guid><author>iteye_4538</author><pubDate>Mon, 22 Sep 2014 20:34:00 +0800</pubDate><description><![CDATA[[b]分布式缓存问题[/b]

假设我们有一个网站，最近发现随着流量的增加，服务器压力越来越大，之前直接读写数据库的方式不太给力了，于是我们想引入Memcached作为缓存机制。现在我们一共有三台机器可以作为Memcached服务器，如下图所示。
[img]http://dl2.iteye.com/upload/attachment/0101/3749/f996cf02-df05-376a-...]]></description><category></category></item><item><title><![CDATA[Git快速入门]]></title><link>https://blog.youkuaiyun.com/iteye_4538/article/details/82604970</link><guid>https://blog.youkuaiyun.com/iteye_4538/article/details/82604970</guid><author>iteye_4538</author><pubDate>Fri, 19 Sep 2014 14:33:24 +0800</pubDate><description><![CDATA[
 版本控制系统可以分为集中式（CVCS, Centralized Version Control System, 例如CVS、Subversion）和分布式（DVCS, Distributed Version Control System，例如Git）版本控制系统。
 
 传统的集中式版本控制系统，本地只保存代码库的一个版本拷贝。 所有历史版本都保存在服务器。GIT 与之最大的不同是，本地...]]></description><category></category></item><item><title><![CDATA[ArrayBlockingQueue和LinkedBlockingQueue的区别]]></title><link>https://blog.youkuaiyun.com/iteye_4538/article/details/82604657</link><guid>https://blog.youkuaiyun.com/iteye_4538/article/details/82604657</guid><author>iteye_4538</author><pubDate>Mon, 15 Sep 2014 14:38:43 +0800</pubDate><description><![CDATA[
 
1.队列中的锁的实现不同
       ArrayBlockingQueue中的锁是没有分离的，即生产和消费用的是同一个锁；
       LinkedBlockingQueue中的锁是分离的，即生产用的是putLock，消费是takeLock
 
2.在生产或消费时操作不同
     ArrayBlockingQueue基于数组，在生产和消费的时候，是直接将枚举对象插入或移除的...]]></description><category></category></item><item><title><![CDATA[aop:aspectj-autoproxy的内部机制]]></title><link>https://blog.youkuaiyun.com/iteye_4538/article/details/82604523</link><guid>https://blog.youkuaiyun.com/iteye_4538/article/details/82604523</guid><author>iteye_4538</author><pubDate>Fri, 12 Sep 2014 17:36:19 +0800</pubDate><description><![CDATA[

要说Spring xml配置中的&amp;lt;aop:aspectj-autoproxy /&amp;gt;，先从@EnableAspectJAutoProxy注解说起，

Spring的配置除了使用xml之外，还可以使用Java类+ 注解的方式，例如下面的AppConfig类：

// 配置文件类
 @Configuration @EnableAspectJAutoProxy public c...]]></description><category></category></item><item><title><![CDATA[排序算法的稳定性]]></title><link>https://blog.youkuaiyun.com/iteye_4538/article/details/82604324</link><guid>https://blog.youkuaiyun.com/iteye_4538/article/details/82604324</guid><author>iteye_4538</author><pubDate>Wed, 10 Sep 2014 00:21:37 +0800</pubDate><description><![CDATA[
什么是稳定的排序算法，举个简单的例子，对四张扑克牌按照牌面值进行升序排序，对于红桃5和黑桃5，牌面值相同，如果使用稳定的排序算法，则排序前是红桃5在前、黑桃5在后的相对顺序，在排序后依然是这个顺序。

 如果使用不稳定的排序算法，则红桃5和黑桃5的相对顺序被打乱。
 
稳定的排序算法有什么作用？
 
再举个查询学生情况的例子，
先按照年龄升序排序从数据库中查出前四条记录：

...]]></description><category></category></item><item><title><![CDATA[归并排序算法]]></title><link>https://blog.youkuaiyun.com/iteye_4538/article/details/82604310</link><guid>https://blog.youkuaiyun.com/iteye_4538/article/details/82604310</guid><author>iteye_4538</author><pubDate>Tue, 09 Sep 2014 17:30:35 +0800</pubDate><description><![CDATA[
归并排序采用分治法（Divide and Conquer），是一种稳定的排序方法。顾名思义，其实就是通过先递归、再合并的思想来排序。
 
如下图所示，假设有一个无序数组{10, 4, 6, 3, 8, 2, 5, 7}，
先根据二分法对其进行递归分解，
第一次分解后，变成两个数组{10, 4, 6, 3}, {8, 2, 5, 7}，
第二次分解后，变成四个数组{10, 4}, {6...]]></description><category></category></item><item><title><![CDATA[浏览器缓存机制]]></title><link>https://blog.youkuaiyun.com/iteye_4538/article/details/82604144</link><guid>https://blog.youkuaiyun.com/iteye_4538/article/details/82604144</guid><author>iteye_4538</author><pubDate>Fri, 05 Sep 2014 00:16:26 +0800</pubDate><description><![CDATA[
浏览器缓存机制，其实主要就是HTTP协议定义的缓存机制（如：Expires；Cache-control等）。但是也有非HTTP协议定义的缓存机制，如使用HTML Meta 标签，Web开发者可以在HTML页面的&amp;lt;head&amp;gt;节点中加入&amp;lt;meta&amp;gt;标签，代码如下：




html code




&amp;lt;META HTTP-EQUIV=&quot;Pragma&quot; CO...]]></description><category></category></item><item><title><![CDATA[网购秒杀系统架构设计]]></title><link>https://blog.youkuaiyun.com/iteye_4538/article/details/82604141</link><guid>https://blog.youkuaiyun.com/iteye_4538/article/details/82604141</guid><author>iteye_4538</author><pubDate>Thu, 04 Sep 2014 23:28:50 +0800</pubDate><description><![CDATA[
秒杀活动的技术挑战
1. 对现有网站业务造成冲击
秒杀活动只是网站营销的一个附加活动，这个活动具有时间短，并发访问量大的特点，如果和网站原有应用部署在一起，必须会对现有业务造成冲击，稍有不慎可能导致整个网站瘫痪。
2. 高并发下的应用、数据库负载
用户在秒杀开始前，通过不停刷新浏览器页面以保证不会错过秒杀，这些请求如果按照一般的网站应用架构，访问应用服务器、连接数据库，会对应用服务器和...]]></description><category></category></item><item><title><![CDATA[设计模式的六大原则]]></title><link>https://blog.youkuaiyun.com/iteye_4538/article/details/82604139</link><guid>https://blog.youkuaiyun.com/iteye_4538/article/details/82604139</guid><author>iteye_4538</author><pubDate>Thu, 04 Sep 2014 23:09:20 +0800</pubDate><description><![CDATA[
关于设计模式的六大原则，经典的总结是“单一职责原则告诉我们实现类要职责单一；里氏替换原则告诉我们不要破坏继承体系；依赖倒置原则告诉我们要面向接口编程；接口隔离原则告诉我们在设计接口的时候要精简单一；迪米特法则告诉我们要降低耦合。而开闭原则是总纲，他告诉我们要对扩展开放，对修改关闭。”
  


单一职责原则（Single Responsibility Principle）


一个类只负...]]></description><category></category></item><item><title><![CDATA[liveness hazard—死锁,活锁,饥饿]]></title><link>https://blog.youkuaiyun.com/iteye_4538/article/details/82604077</link><guid>https://blog.youkuaiyun.com/iteye_4538/article/details/82604077</guid><author>iteye_4538</author><pubDate>Thu, 04 Sep 2014 11:31:37 +0800</pubDate><description><![CDATA[
 在java多线程编程中，一不小心就会引起活性危险(liveness hazard)，需要非常谨慎。liveness可以翻译成活性，如果线程的活性好，说明运行状态不错，能得到CPU的有效处理；反之则线程可能处于死锁、饥饿、活锁等危险状态。-------------------------------------------------------------------------------...]]></description><category></category></item></channel></rss>