<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[theSnai1的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/theSnai1</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; theSnai1]]></copyright><item><title><![CDATA[创建型-生成器模式（Builder）]]></title><link>https://blog.youkuaiyun.com/theSnai1/article/details/84625793</link><guid>https://blog.youkuaiyun.com/theSnai1/article/details/84625793</guid><author>theSnai1</author><pubDate>Fri, 15 Aug 2014 09:17:43 +0800</pubDate><description><![CDATA[
1、意图；
  将一个复杂对象的构建与它的表示分离，使得同样的构建过程可以创建不同的表示。
 
2、场景描述；
  编辑软件的“另存为”功能便是生成器模式的一个体现。例如，Word的另存为功能，可以选择将文件存储为doc、docx、pdf、txt等格式，但是通过word的另存为功能转变文档的存储格式时都采用了“文件 --&amp;gt; 另存为”，相同的创建过程。当需要对word支持新的类型转...]]></description><category></category></item><item><title><![CDATA[Spring+MyBatis实践——登录与权限控制]]></title><link>https://blog.youkuaiyun.com/theSnai1/article/details/84625314</link><guid>https://blog.youkuaiyun.com/theSnai1/article/details/84625314</guid><author>theSnai1</author><pubDate>Wed, 13 Aug 2014 17:48:15 +0800</pubDate><description><![CDATA[
1、实现用户登录功能；
  通过session来实现用户登录功能。在用户登录时，将用户的相关信息放在HttpSession对象用，其中HttpSession对象可以通过HttpServletRequest的getSession方法获得。同时，HttpSession对象对应Jsp内置对象session，在jsp页面中也可以通过session来访问，如通过jstl标签库来访问session中的内...]]></description><category></category></item><item><title><![CDATA[Sprimg+MyBatis实践——中文乱码]]></title><link>https://blog.youkuaiyun.com/theSnai1/article/details/84625274</link><guid>https://blog.youkuaiyun.com/theSnai1/article/details/84625274</guid><author>theSnai1</author><pubDate>Wed, 13 Aug 2014 16:42:39 +0800</pubDate><description><![CDATA[
1、jsp页面乱码解决（2步）；
  新建jsp页面；
 
&amp;lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=ISO-8859-1&quot; pageEncoding=&quot;ISO-8859-1&quot;%&amp;gt;
&amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional/...]]></description><category></category></item><item><title><![CDATA[创建型-抽象工厂学习]]></title><link>https://blog.youkuaiyun.com/theSnai1/article/details/84625061</link><guid>https://blog.youkuaiyun.com/theSnai1/article/details/84625061</guid><author>theSnai1</author><pubDate>Tue, 12 Aug 2014 22:32:10 +0800</pubDate><description><![CDATA[
1、抽象工厂模式的意图；
  提供一个创建一系列相关或相互依赖对象的接口，而无需指定它们具体的类。
 
2、抽象工厂模式的适用性；

一个系统要独立于它的产品的创建、组合和表示时。
一个系统要由多个产品系列中的一个来配置时。
当你要强调一系列相关的产品对象的设计以便进行联合使用时。
当你提供一个产品类库，而只想显示它们的接口而不是实现时。

3、场景描述；
  考虑一个生产多...]]></description><category></category></item><item><title><![CDATA[ArrayList与Vector、HashMap与HashTable]]></title><link>https://blog.youkuaiyun.com/theSnai1/article/details/84624704</link><guid>https://blog.youkuaiyun.com/theSnai1/article/details/84624704</guid><author>theSnai1</author><pubDate>Mon, 11 Aug 2014 21:22:07 +0800</pubDate><description><![CDATA[
摘自api：
1、ArrayList与Vector：
原文：This class(ArrayList) is roughly equivalent to Vector, except that it is unsynchronized.
ArrayList是不同步的，Vector是同步的，在多线程环境中Vector更安全。如果在程序程序中不需要考虑线程安全，推荐使用ArrayList来代...]]></description><category></category></item><item><title><![CDATA[ArrayList 与 LinkedList实现比较]]></title><link>https://blog.youkuaiyun.com/theSnai1/article/details/84624667</link><guid>https://blog.youkuaiyun.com/theSnai1/article/details/84624667</guid><author>theSnai1</author><pubDate>Mon, 11 Aug 2014 18:18:46 +0800</pubDate><description><![CDATA[
1、ArrayList实现是基于数组来实现的，这可由ArrayList的源码看出；
public class ArrayList&amp;lt;E&amp;gt; extends AbstractList&amp;lt;E&amp;gt;
        implements List&amp;lt;E&amp;gt;, RandomAccess, Cloneable, java.io.Serializable
{
    priv...]]></description><category></category></item><item><title><![CDATA[Spring+MyBatis实践——MyBatis访问数据库]]></title><link>https://blog.youkuaiyun.com/theSnai1/article/details/84624008</link><guid>https://blog.youkuaiyun.com/theSnai1/article/details/84624008</guid><author>theSnai1</author><pubDate>Sat, 09 Aug 2014 18:02:21 +0800</pubDate><description><![CDATA[
    在http://dufengx201406163237.iteye.com/blog/2102054中描述了工程的配置，在此记录一下如何使用MyBatis访问数据库；
1、主要配置为：
 
	&amp;lt;!-- 其中p:mapperLocations指定数据库操作文件的地址 --&amp;gt;
	&amp;lt;bean id=&quot;sqlSessionFactory&quot; class=&quot;org.myba...]]></description><category></category></item><item><title><![CDATA[Spring+MyBatis实践——工程配置]]></title><link>https://blog.youkuaiyun.com/theSnai1/article/details/84624003</link><guid>https://blog.youkuaiyun.com/theSnai1/article/details/84624003</guid><author>theSnai1</author><pubDate>Sat, 09 Aug 2014 17:09:38 +0800</pubDate><description><![CDATA[
工程架构如图：

 
1、pom.xml
 
	&amp;lt;properties&amp;gt;
		&amp;lt;junit.version&amp;gt;3.8.1&amp;lt;/junit.version&amp;gt;
		&amp;lt;spring.version&amp;gt;3.0.7.RELEASE&amp;lt;/spring.version&amp;gt;
		&amp;lt;dbcp.version&amp;gt;1.4&amp;lt;/dbcp....]]></description><category></category></item><item><title><![CDATA[String, StringBuffer, StringBuilder比较]]></title><link>https://blog.youkuaiyun.com/theSnai1/article/details/84622779</link><guid>https://blog.youkuaiyun.com/theSnai1/article/details/84622779</guid><author>theSnai1</author><pubDate>Tue, 05 Aug 2014 21:37:54 +0800</pubDate><description><![CDATA[
1、见API；

String是不可变的字符序列；
StringBuffer是线程安全的，可变的字符序列；
StringBuilder是可变的字符序列；

StringBuffer与String的区别是StringBuffer是可变的（StringBuffer看做可变的String），StringBuffer中含有的字符序列和自身长度可随着方法调用而改变；StringBuffer在多线程...]]></description><category></category></item><item><title><![CDATA[ThreadLocal源码学习]]></title><link>https://blog.youkuaiyun.com/theSnai1/article/details/84620035</link><guid>https://blog.youkuaiyun.com/theSnai1/article/details/84620035</guid><author>theSnai1</author><pubDate>Tue, 29 Jul 2014 14:59:00 +0800</pubDate><description><![CDATA[
ThreadLocal，线程本地化对象，在多线程环境中，使用ThreadLocal对象来维护变量时，ThreadLocal为每个使用该变量的线程维护一个独立的线程副本。
ThreadLocal.java源文件内容为：
/**
  * ThreadLocal内部包含一个用数组实现的哈希表，用来存储对应到每个线程的局部对象的值
  * 其中，ThreadLocal对象担当key，实际通过t...]]></description><category></category></item><item><title><![CDATA[forward:hello 与 redirect:hello的区别]]></title><link>https://blog.youkuaiyun.com/theSnai1/article/details/84619707</link><guid>https://blog.youkuaiyun.com/theSnai1/article/details/84619707</guid><author>theSnai1</author><pubDate>Mon, 28 Jul 2014 17:39:36 +0800</pubDate><description><![CDATA[
对于某些Controller的处理方法，当返回值为String类型时，返回的结果中可能含有forward或redirect前缀；
如：
@Controller
@RequestMapping(&quot;/user&quot;)
public class UserController {
	@RequestMapping(&quot;/forward&quot;)
	public String replyWithForw...]]></description><category></category></item><item><title><![CDATA[memcache的使用]]></title><link>https://blog.youkuaiyun.com/theSnai1/article/details/84616175</link><guid>https://blog.youkuaiyun.com/theSnai1/article/details/84616175</guid><author>theSnai1</author><pubDate>Fri, 18 Jul 2014 16:45:00 +0800</pubDate><description><![CDATA[
使用memcache的两种实现jar包：
1、使用net.py.spymemcached：
  1）在pom.xml中添加对net.py.spymemcached的依赖；
&amp;lt;dependency&amp;gt;
        &amp;lt;groupId&amp;gt;net.spy&amp;lt;/groupId&amp;gt;
        &amp;lt;artifactId&amp;gt;spymemcached&amp;lt...]]></description><category></category></item><item><title><![CDATA[使用jxl.jar操作Excel]]></title><link>https://blog.youkuaiyun.com/theSnai1/article/details/84613799</link><guid>https://blog.youkuaiyun.com/theSnai1/article/details/84613799</guid><author>theSnai1</author><pubDate>Fri, 11 Jul 2014 15:51:30 +0800</pubDate><description><![CDATA[
场景：将错误描述文件内容导入到Excel的指定列；
 
在工程的build path中添加jxl.jar，网址：http://www.andykhan.com/jexcelapi/
 
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io....]]></description><category></category></item><item><title><![CDATA[Spring MVC使用commons fileupload实现文件上传功能]]></title><link>https://blog.youkuaiyun.com/theSnai1/article/details/84613784</link><guid>https://blog.youkuaiyun.com/theSnai1/article/details/84613784</guid><author>theSnai1</author><pubDate>Fri, 11 Jul 2014 15:24:31 +0800</pubDate><description><![CDATA[
 
通过Maven建立Spring MVC项目，引入了Spring相关jar依赖。
 
1、为了使用commons fileupload组件，需要在pom.xml中添加依赖；
 
&amp;lt;properties&amp;gt;
		&amp;lt;spring.version&amp;gt;3.0.7.RELEASE &amp;lt;/spring.version&amp;gt;
		&amp;lt;junit.version&amp;...]]></description><category></category></item><item><title><![CDATA[Java文件备份类]]></title><link>https://blog.youkuaiyun.com/theSnai1/article/details/84613761</link><guid>https://blog.youkuaiyun.com/theSnai1/article/details/84613761</guid><author>theSnai1</author><pubDate>Fri, 11 Jul 2014 14:49:11 +0800</pubDate><description><![CDATA[
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
impor...]]></description><category></category></item><item><title><![CDATA[Maven安装与更新]]></title><link>https://blog.youkuaiyun.com/theSnai1/article/details/84609247</link><guid>https://blog.youkuaiyun.com/theSnai1/article/details/84609247</guid><author>theSnai1</author><pubDate>Tue, 24 Jun 2014 17:29:40 +0800</pubDate><description><![CDATA[
Maven是Apache组织中的一个颇为成功的开源项目，主要服务于基于Java平 台的项目构建、依赖管理和项目信息管理；
1） Maven是跨平台的，在Windows、Linux和Mac上都可以使用；
2） Maven可以帮助我们管理引入到项目中的开源类库，解决由于类库依赖增多可能导致的版本不一致、版本冲突、依赖臃肿等问题；
3） Maven能够帮助我们管理项目信息，包括项目描 述、开发...]]></description><category></category></item><item><title><![CDATA[安装Eclipse的反编译工具JadClipse]]></title><link>https://blog.youkuaiyun.com/theSnai1/article/details/84608501</link><guid>https://blog.youkuaiyun.com/theSnai1/article/details/84608501</guid><author>theSnai1</author><pubDate>Fri, 20 Jun 2014 19:31:48 +0800</pubDate><description><![CDATA[
记录一下安装Eclipse的反编译插件JadClipse的过程；
 
1、首先准备：
      1）JadClipse插件，从网站http://sourceforge.net/projects/jadclipse/下载得到net.sf.jadclipse_3.3.0.jar；
      2）Jad工具，从网站http://varaneckas.com/jad/获取，选择Jad 1....]]></description><category></category></item></channel></rss>