http://www.oschina.net/code/snippet_98126_9942.net
http://www.oschina.net/code/list_releted_codes?id=9942code