<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lishuangting的博客]]></title><description><![CDATA[share]]></description><link>https://blog.youkuaiyun.com/u012604367</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u012604367]]></copyright><item><title><![CDATA[java虚拟机运行时数据区小记]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/50562478</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/50562478</guid><author>u012604367</author><pubDate>Fri, 22 Jan 2016 16:38:06 +0800</pubDate><description><![CDATA[java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域，这些区域都有各自的用途，以及创建和销毁的时间。根据java虚拟机规范的规定，java虚拟机所管理的内存将会包括以下几个运行时数据区域：程序计数器、虚拟机栈、本地方法栈、堆、方法区。
1、程序计数器：是一块比较小的内存空间，可以看成是当前线程执行的字节码的行号指示器（记录线程执行到了哪里）。每个线程都有一个独立的]]></description><category></category></item><item><title><![CDATA[java普通对象的创建过程]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/50561949</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/50561949</guid><author>u012604367</author><pubDate>Fri, 22 Jan 2016 15:16:13 +0800</pubDate><description><![CDATA[在java中创建对象通常是用一个new关键字，那么此时java虚拟机都做了什么呢？今天简单的看了一下，这里的对象指普通java对象，不包括数组和Class对象。
当虚拟机遇到一条new 指令时，会执行一下操作：
首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用，并检查这个符号引用代表的类是否已经被加载、解析和初始化过，如果没有，那么必须先执行相应的类加载过程。
在类加载检查通]]></description><category></category></item><item><title><![CDATA[java线程基础知识]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/50543788</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/50543788</guid><author>u012604367</author><pubDate>Tue, 19 Jan 2016 17:17:35 +0800</pubDate><description><![CDATA[线程常常会伴随进程一起出现，那么二者有什么区别呢？
进程：程序执行的过程，是一个动态概念，持有资源（共享内存，共享文件）和线程。
线程：线程是系统中最小的执行单元，同一个进程中有多个线程，线程共享进程的资源。
java线程中常用的方法：
void start()：启动线程。
static void sleep(long millis)：线程休眠。
static void sleep(l]]></description><category></category></item><item><title><![CDATA[Junit4使用]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/50541192</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/50541192</guid><author>u012604367</author><pubDate>Tue, 19 Jan 2016 11:08:25 +0800</pubDate><description><![CDATA[在开发中经常用到单元测试，在这里小小的记录一下。
首先要明确一点，测试用例用来达到想要的预期结果，但对于逻辑错误无能为力。先看一个简单的例子：
public class Divide {
    public int divide(int a,int b){
        return a/b;
    }
}
import static org.junit.Assert.*;
]]></description><category></category></item><item><title><![CDATA[SpringMVC拦截器的实现]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/50527999</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/50527999</guid><author>u012604367</author><pubDate>Sat, 16 Jan 2016 14:17:58 +0800</pubDate><description><![CDATA[拦截器：指统一拦截从浏览器发往服务器的请求，在请求执行之前或之后加入一些代码来完成功能的增强，一般使用在解决请求的共性问题，比如乱码、权限验证等。
SpringMVC拦截器的实现：
1、自定义拦截器类实现有两种方式。第一种方式是实现HandlerInterceptor接口，或继承实现了HandlerInterceptor接口的类，比如Spring已经提供的实现了HandlerIntercept]]></description><category></category></item><item><title><![CDATA[maven安装]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/50518384</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/50518384</guid><author>u012604367</author><pubDate>Thu, 14 Jan 2016 16:11:42 +0800</pubDate><description><![CDATA[1.下载并加压maven
2.配置环境变量（M2_HOME.Path）
   拷贝路径（D:\maven\apache-maven-3.2.3），新建环境变量名为M2_HOME，值为拷贝路径。
   编辑Path将，%M2_HOME%\bin;添加到Path中，点击确定。
   测试一下，打开cmd，输入命令mvn -version回车，出现maven版本信息等则安装成功。

3.配置]]></description><category></category></item><item><title><![CDATA[SpringMVC+Ajax文件批量上传和下载]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/50516726</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/50516726</guid><author>u012604367</author><pubDate>Thu, 14 Jan 2016 13:30:26 +0800</pubDate><description><![CDATA[今天做了文件的上传下载，小小总结一下，基本的web项目建立及SpringMVC框架搭建此处不详细写出来了。
上传form：



       

       

上传Ajax：

/*
 * 上传文件
 */
function upload(){
    var formData = new FormData($( "#uploadfiles" )[0]);
 ]]></description><category></category></item><item><title><![CDATA[mybatis-generator自动生成dao、mapping、model]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/50468467</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/50468467</guid><author>u012604367</author><pubDate>Wed, 06 Jan 2016 14:00:23 +0800</pubDate><description><![CDATA[要用到mybatis-generator-core-1.3.2.jar和mysql-connector-java-5.1.25-bin.jar两个jar包，这里使用mysql数据库为例。
除了上面jar包还要有一个配置文件generator.xml：




    
    
    
        
            
        
        
  ]]></description><category></category></item><item><title><![CDATA[javamail实现发送邮件]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/50454358</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/50454358</guid><author>u012604367</author><pubDate>Mon, 04 Jan 2016 10:25:08 +0800</pubDate><description><![CDATA[今天写了邮件相关的api，小小的总结一下。先来了解一下邮件发送的过程，一封邮件发出，先发送到你的邮件服务器上，由你的邮件服务器发送到目标邮件服务器，再由目标邮件服务器转发到目标地址，区别于点对点传输。
javamail封装了邮件操作的基本类，利用javamail来实现邮件发送，要先下载mail.jar包，加到项目中，jdk版本要在1.6及以上。下面例子结合了struts框架，来看下例子：
pu]]></description><category></category></item><item><title><![CDATA[数据解析为json格式]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/50454328</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/50454328</guid><author>u012604367</author><pubDate>Mon, 04 Jan 2016 10:23:15 +0800</pubDate><description><![CDATA[json是一种轻量级的数据交换格式。 易于人阅读和编写，同时也易于机器解析和生成(一般用于提升网络传输速率)。
json格式规则：
1、并列数据间用（","）分隔。
2、映射用（";"）表示，例如："name":"Rose"相当于name="Rose"。
3、并列数据的集合（数组）用（"[]"）表示。
3、映射的集合（对象）用（"{}"）表示。
比较复杂的集合嵌套转成json格式，例如]]></description><category></category></item><item><title><![CDATA[Spring事务管理（XML配置声明式）]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/50454314</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/50454314</guid><author>u012604367</author><pubDate>Mon, 04 Jan 2016 10:21:11 +0800</pubDate><description><![CDATA[java事务管理主要有三种：JDBC事务、JTA事务、容器事务，主要来看一下容器事务。
首先来回顾一下什么是事务。
事务:指逻辑上的一组操作，这组操作要么全部成功，要么全部失败。
事务的特性（ACID）：
1、原子性：事务是一个不可分割的工作单位，事务中的操作要么都发生，要么都不发生。
2、一致性：事务执行的前后数据的完整性必须保持一致。
3、隔离性：多个用户并发访问数据库时，一个用户]]></description><category></category></item><item><title><![CDATA[设计模式之单例模式]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/50454289</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/50454289</guid><author>u012604367</author><pubDate>Mon, 04 Jan 2016 10:19:56 +0800</pubDate><description><![CDATA[单例模式主要分为饿汉模式和懒汉模式。主要应用于对象只需要一个实例的情况，比如：配置文件、工具类、线程池、缓存、日志对象等，如果创建出多个实例，就会导致许多问题，比如占用过多资源，不一致的结果等等。
1、饿汉模式：
public class Singleton {
    private Singleton(){//私有构造器
    }
    private static Single]]></description><category></category></item><item><title><![CDATA[黑盒测试用例设计方法之等价类划分]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/50454269</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/50454269</guid><author>u012604367</author><pubDate>Mon, 04 Jan 2016 10:16:44 +0800</pubDate><description><![CDATA[1.等价类划分法
概念：把程序的输入域划分成若干子集，然后从每个子集中选取少数有代表性数据作为测试用例，每个子集的代表性数据在测试中的作用等价于该集合中的其他值。
等价类分为有效等价类（对于程序的规格说明来说是合理的、有意义的输入构成的集合，可以检验程序是否实现了规格书明中规定的功能和性能）和无效等价类（与有效等价类相反）。
划分等价类的原则：
（1）在输入条件确定了取值范围的情况下可以确]]></description><category></category></item><item><title><![CDATA[简单理解java反射机制]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/50454244</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/50454244</guid><author>u012604367</author><pubDate>Mon, 04 Jan 2016 10:12:49 +0800</pubDate><description><![CDATA[JAVA反射机制是在运行状态中，对于任意一个类，都能够知道这个类的所有属性和方法，对于任意一个对象，都能够调用它的任意一个方法和属性，这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
在面向对象的世界里，万事万物皆对象。那么java语言中，静态成员、类是谁的对象呢？
类是对象，类是java.lang.Class类的实例对象。那么Class类的实例对象如何表示呢？我们来]]></description><category></category></item><item><title><![CDATA[java页面乱码]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/50454218</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/50454218</guid><author>u012604367</author><pubDate>Mon, 04 Jan 2016 10:10:10 +0800</pubDate><description><![CDATA[乱码是一直困我们的问题，大多数乱码原因是使用的编码方式与源文件的编码不一致，当乱码出现时，首先检查客户端编码、服务器编码、数据库编码、系统环境以及开发环境各自的编码是否一致。
解决HTML页面的中文问题：
为了使HTML页面很好的支持中文，在每个HTML页面的标签内部增加

解决jsp页面中的中文问题：
pageEncoding是jsp文件本身的编码contentType的charset]]></description><category></category></item><item><title><![CDATA[java实例变量初始化各语句执行顺序]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/45044235</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/45044235</guid><author>u012604367</author><pubDate>Tue, 14 Apr 2015 16:43:08 +0800</pubDate><description><![CDATA[Java中的实例变量属于Java对象本身，每次创建Java对象时都需要为实例变量分配内存并执行初始化。
  从语法角度看程序可以在三个地方对实例变量进行初始化：1、定义实例变量时指定初始值。2、非静态初始化块中对实例变量指定初始值。3、构造器中对实例变量指定初始值。第1、2中方式比第3种早执行，第1、2种方式的执行顺序与它们在源程序中的排列顺序相同。
原因：定义实例变量时指定的初始值、初始化块]]></description><category></category></item><item><title><![CDATA[java类中的访问修饰符]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/44759399</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/44759399</guid><author>u012604367</author><pubDate>Mon, 30 Mar 2015 22:43:44 +0800</pubDate><description><![CDATA[Java类中的访问修饰符有四种，分别为private、default、protected和public。
这四种访问修饰符的所限定的访问范围各自不同，范围最小的为private，必须在同一个类中的方法才能访问由该修饰符修饰的字段或方法。如果类中字段或方法未标出访问修饰符则为default修饰符修饰，包含private访问修饰符的访问范围，最大访问范围是在同一个包下的类中方法可以访问由该修饰符修饰]]></description><category></category></item><item><title><![CDATA[java的overload与override小总结]]></title><link>https://blog.youkuaiyun.com/u012604367/article/details/44725801</link><guid>https://blog.youkuaiyun.com/u012604367/article/details/44725801</guid><author>u012604367</author><pubDate>Mon, 30 Mar 2015 22:39:41 +0800</pubDate><description><![CDATA[overload和override看似相近，其实区别很大。
overload]]></description><category></category></item></channel></rss>