<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[辉悦天成的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/flqljh</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; flqljh]]></copyright><item><title><![CDATA[泛型中? super T和? extends T的区别]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49873591</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49873591</guid><author>flqljh</author><pubDate>Mon, 16 Nov 2015 23:01:42 +0800</pubDate><description><![CDATA[经常发现有List、Set的声明，是什么意思呢？表示包括T在内的任何T的父类，表示包括T在内的任何T的子类，下面我们详细分析一下两种通配符具体的区别。


extends

List foo3的通配符声明，意味着以下的赋值是合法的：







01

//
 Number "extends" Number (in this context)




]]></description><category></category></item><item><title><![CDATA[Java锁的种类以及辨析（四）：可重入锁]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49873465</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49873465</guid><author>flqljh</author><pubDate>Mon, 16 Nov 2015 22:53:08 +0800</pubDate><description><![CDATA[作者：山鸡

锁作为并发共享数据，保证一致性的工具，在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利，但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA下常见的锁名称以及特性，为大家答疑解惑。


四、可重入锁：

本文里面讲的是广义上的可重入锁，而不是单指JAVA下的Reentra]]></description><category></category></item><item><title><![CDATA[Java锁的种类以及辨析（三）：阻塞锁]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49873257</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49873257</guid><author>flqljh</author><pubDate>Mon, 16 Nov 2015 22:45:56 +0800</pubDate><description><![CDATA[作者：山鸡

锁作为并发共享数据，保证一致性的工具，在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利，但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA下常见的锁名称以及特性，为大家答疑解惑。


三、阻塞锁：

阻塞锁，与自旋锁不同，改变了线程的运行状态。
在JAVA环境中，线程]]></description><category></category></item><item><title><![CDATA[Java锁的种类以及辨析（二）：自旋锁的其他种类]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49873243</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49873243</guid><author>flqljh</author><pubDate>Mon, 16 Nov 2015 22:44:12 +0800</pubDate><description><![CDATA[作者：山鸡

锁作为并发共享数据，保证一致性的工具，在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利，但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA下常见的锁名称以及特性，为大家答疑解惑。


2.自旋锁的其他种类

上篇我们讲到了自旋锁，在自旋锁中 另有三种常见的锁形式:Tic]]></description><category></category></item><item><title><![CDATA[java锁的种类以及辨析（一）：自旋锁]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49873221</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49873221</guid><author>flqljh</author><pubDate>Mon, 16 Nov 2015 22:41:01 +0800</pubDate><description><![CDATA[作者：山鸡

锁作为并发共享数据，保证一致性的工具，在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利，但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA下常见的锁名称以及特性，为大家答疑解惑。
1、自旋锁

自旋锁是采用让当前线程不停地的在循环体内执行实现的，当循环的条件被其他线程改变时]]></description><category></category></item><item><title><![CDATA[Quartz Cron常用表达式]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49834929</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49834929</guid><author>flqljh</author><pubDate>Sat, 14 Nov 2015 12:24:13 +0800</pubDate><description><![CDATA[CronTrigger

CronTriggers往往比SimpleTrigger更有用，如果您需要基于日历的概念，而非SimpleTrigger完全指定的时间间隔，复发的发射工作的时间表。

CronTrigger，你可以指定触发的时间表如“每星期五中午”，或“每个工作日9:30时”，甚至“每5分钟一班9:00和10:00逢星期一上午，星期三星期五“。

即便如此，SimpleTri]]></description><category></category></item><item><title><![CDATA[云服务中IaaS, PaaS和SaaS概念及其区别]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49834919</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49834919</guid><author>flqljh</author><pubDate>Sat, 14 Nov 2015 12:22:48 +0800</pubDate><description><![CDATA[云服务”现在已经快成了一个家喻户晓的词了。如果你不知道PaaS, IaaS 和SaaS的区别，那么也没啥，因为很多人确实不知道。

“云”其实是互联网的一个隐喻，“云计算”其实就是使用互联网来接入存储或者运行在远程服务器端的应用，数据，或者服务。

任何一个使用基于互联网的方法来计算，存储和开发的公司，都可以从技术上叫做从事云的公司。然而，不是所有的云公司都一样。不是所有人都是CTO，所以]]></description><category></category></item><item><title><![CDATA[HTTP协议详解]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49834911</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49834911</guid><author>flqljh</author><pubDate>Sat, 14 Nov 2015 12:21:11 +0800</pubDate><description><![CDATA[引言

HTTP是一个属于应用层的面向对象的协议，由于其简捷、快速的方式，适用于分布式超媒体信息系统。它于1990年提出，经过几年的使用与发展，得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版，HTTP/1.1的规范化工作正在进行之中，而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

HTTP协议的主要特点可概括如下：

1.支]]></description><category></category></item><item><title><![CDATA[Maven五种scope含义的说明]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49834881</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49834881</guid><author>flqljh</author><pubDate>Sat, 14 Nov 2015 12:15:21 +0800</pubDate><description><![CDATA[依赖范围控制哪些依赖在哪些classpath 中可用，哪些依赖包含在一个应用中。让我们详细看一下每一种范围：

compile （编译范围）

compile是默认的范围；如果没有提供一个范围，那该依赖的范围就是编译范围。编译范围依赖在所有的classpath 中可用，同时它们也会被打包。

provided （已提供范围）

provided 依赖只有在当JDK 或者一个容器已提]]></description><category></category></item><item><title><![CDATA[utf8_general_ci、utf8_unicode_ci和utf8_bin的区别]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49834843</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49834843</guid><author>flqljh</author><pubDate>Sat, 14 Nov 2015 12:09:30 +0800</pubDate><description><![CDATA[utf8_general_ci 不区分大小写，这个你在注册用户名和邮箱的时候就要使用。

utf8_general_cs 区分大小写，如果用户名和邮箱用这个就会照成不良后果。

utf8_bin: compare strings by the binary value of each character in the string 将字符串每个字符串用二进制数据编译存储，区分大小写，而且可]]></description><category></category></item><item><title><![CDATA[纵观jBPM:从jBPM3到jBPM5以及Activiti5（转）]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49834819</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49834819</guid><author>flqljh</author><pubDate>Sat, 14 Nov 2015 12:05:27 +0800</pubDate><description><![CDATA[对jBPM来说，今年最大的事件莫过于jBPM的创建者Tom Baeyens离开JBoss了。Tom Baeyens离开的具体原因尚不清楚，但他的离开产生了两个结果：一是jBPM的下一个版本jBPM5完全放弃了jBPM4的基础代码，基于Drools Flow重头来过；二是Tom Baeyens加入Alfresco后很快推出了新的基于jBPM4的开源工作流系统Activiti。由此不难推测Tom Ba]]></description><category></category></item><item><title><![CDATA[HTML4/4.01，XHTML 1.0/1.1/2.0，HTML5，之间有什么区别？]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49834805</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49834805</guid><author>flqljh</author><pubDate>Sat, 14 Nov 2015 12:02:55 +0800</pubDate><description><![CDATA[在HTML的早期发展中，W3C成立之前，很多标准的制定都是在浏览器的开发者们互相讨论的情况下完成的，比如HTML 2.0, 3.2直到4.0, 4.01，这些标准大部分都是所谓的retro-spec，即先有实现后有标准。在这种情况下，HTML标准不是很规范，浏览器也对HTML页面中的错误相当宽容。这反过来又导致了HTML作者写出了大量的含有错误的HTML页面。据说，时至今日web上99%的页面都含]]></description><category></category></item><item><title><![CDATA[System.arraycopy方法的使用]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49834785</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49834785</guid><author>flqljh</author><pubDate>Sat, 14 Nov 2015 12:00:27 +0800</pubDate><description><![CDATA[1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35
]]></description><category></category></item><item><title><![CDATA[java日志组件介绍（common-logging，log4j，slf4j，logback）]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49834757</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49834757</guid><author>flqljh</author><pubDate>Sat, 14 Nov 2015 11:55:34 +0800</pubDate><description><![CDATA[common-logging


common-logging是apache提供的一个通用的日志接口。用户可以自由选择第三方的日志组件作为具体实现，像log4j，或者jdk自带的logging， common-logging会通过动态查找的机制，在程序运行时自动找出真正使用的日志库。当然，common-logging内部有一个Simple logger的简单实现，但是功能很弱。所以使用com]]></description><category></category></item><item><title><![CDATA[slf4j-api、slf4j-log4j12以及log4j三者之间是什么关系？]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49834731</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49834731</guid><author>flqljh</author><pubDate>Sat, 14 Nov 2015 11:52:53 +0800</pubDate><description><![CDATA[几乎在每个项目里都可以看到log4j的身影，在多个子工程构成项目中，slf4j相关的冲突时不时就跳出来让你不爽，那么slf4j-api、slf4j-log4j12还有log4j他们是什么关系？我把自己了解的和大家简单分享一下：

slf4j:Simple Logging Facade for Java，为java提供的简单日志Facade。Facade：门面，更底层一点说就是接口。他允许用户以]]></description><category></category></item><item><title><![CDATA[解决spring、springMVC重复扫描导致事务失效的问题]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49834695</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49834695</guid><author>flqljh</author><pubDate>Sat, 14 Nov 2015 11:49:00 +0800</pubDate><description><![CDATA[在主容器中（applicationContext.xml），将Controller的注解排除掉 





1

2

3




context:component-scan base-package="com"> 

    context:exclude-filter type="annotation" expression="org.springframe]]></description><category></category></item><item><title><![CDATA[如何给Spring MVC的action加上事务]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49834671</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49834671</guid><author>flqljh</author><pubDate>Sat, 14 Nov 2015 11:47:18 +0800</pubDate><description><![CDATA[其实就是一个加载顺序的问题

首先使用了spring MVC的项目是不需要配置action bean，而是通过spring mvc的配置文件进行扫描注解加载的，spring事务配置文件还有上下文都是通过org.springframework.web.context.ContextLoaderListener加载的，而spring MVC的action是通过org.springframework]]></description><category></category></item><item><title><![CDATA[HibernateTransactionManager和DataSourceTransactionManager]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49834637</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49834637</guid><author>flqljh</author><pubDate>Sat, 14 Nov 2015 11:43:53 +0800</pubDate><description><![CDATA[spring中常用的事务管理有DataSourceTransactionManager 和HibernateTransactionManager，他们服务的对象不同，下面来简单说明一下：

1、DataSourceTransactionManager：此事务管理器是针对传统的JDBC进行事务管理，在spring中是对JdbcTemplate进行事务管理

2、HibernateTransa]]></description><category></category></item><item><title><![CDATA[Spring中ServletContextAware接口使用理解]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49834629</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49834629</guid><author>flqljh</author><pubDate>Sat, 14 Nov 2015 11:41:45 +0800</pubDate><description><![CDATA[在Spring中，凡是实现ServletContextAware接口的类，都可以取得ServletContext。实现如下： 





1

2

3

4




private ServletContext application;

public void setServletContext(ServletContext servletContext)]]></description><category></category></item><item><title><![CDATA[Spring实例化Bean的三种方式及Bean的类型]]></title><link>https://blog.youkuaiyun.com/flqljh/article/details/49834609</link><guid>https://blog.youkuaiyun.com/flqljh/article/details/49834609</guid><author>flqljh</author><pubDate>Sat, 14 Nov 2015 11:39:57 +0800</pubDate><description><![CDATA[1.使用类构造器实例化  [默认的类构造器]






1




bean id=“orderService" class="cn.itcast.OrderServiceBean"/>









2.使用静态工厂方法实例化





1




bean id="personService" class="cn.itca]]></description><category></category></item></channel></rss>