在 http://www.cnblogs.com/strick/p/5484779.html 有描述