<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Set(O2)的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/SetO2</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; SetO2]]></copyright><item><title><![CDATA[ThreadPool&AsyncTask]]></title><link>https://blog.youkuaiyun.com/SetO2/article/details/50769819</link><guid>https://blog.youkuaiyun.com/SetO2/article/details/50769819</guid><author>SetO2</author><pubDate>Tue, 01 Mar 2016 09:04:47 +0800</pubDate><description><![CDATA[ThreadPool&AsyncTaskThreadPool线程池
  
  new Thread的弊端如下： 
  a. 每次new Thread新建对象性能差。 
  b. 线程缺乏统一管理，可能无限制新建线程，相互之间竞争，及可能占用过多系统资源导致死机或oom。 
  c. 缺乏更多功能，如定时执行、定期执行、线程中断。
  相比new Thread，Java提供的四种线程池的好处在于：]]></description><category></category></item><item><title><![CDATA[自己实现个Android下仿IOS的时间选择器、时间控件Time-Selector]]></title><link>https://blog.youkuaiyun.com/SetO2/article/details/50757170</link><guid>https://blog.youkuaiyun.com/SetO2/article/details/50757170</guid><author>SetO2</author><pubDate>Sat, 27 Feb 2016 21:51:13 +0800</pubDate><description><![CDATA[Time-Selector   控件基于jingchenUSTC/TimePicker使用：
  Android Studio中直接在 gradle中加入：
compile 'com.feezu.liuli:timeselector:1.0.8+' 
  Eclipse下请下载源码（建议尽早迁移至Studio）
构造1：
TimeSelector(Context context, ResultHan]]></description><category></category></item><item><title><![CDATA[Android Touch事件分发—拦截—处理]]></title><link>https://blog.youkuaiyun.com/SetO2/article/details/50750942</link><guid>https://blog.youkuaiyun.com/SetO2/article/details/50750942</guid><author>SetO2</author><pubDate>Fri, 26 Feb 2016 16:46:02 +0800</pubDate><description><![CDATA[Android Touch事件分发(dispatchTouchEvent)—拦截(onInterceptTouchEvent)—处理(onTouchEvent)转自:http://www.cnblogs.com/linjzong/p/4191891.html(跟人感觉短小精悍有透彻)Touch事件分发中只有两个主角:ViewGroup和View。Activity的Touch事件事实上是调用它内部的V]]></description><category></category></item><item><title><![CDATA[工作中用到的小算法，计算两日期间隔xx年xx月xx天]]></title><link>https://blog.youkuaiyun.com/SetO2/article/details/50193621</link><guid>https://blog.youkuaiyun.com/SetO2/article/details/50193621</guid><author>SetO2</author><pubDate>Sun, 06 Dec 2015 11:05:09 +0800</pubDate><description><![CDATA[算法，计算两日期间隔xx年xx月xx天]]></description><category></category></item><item><title><![CDATA[JAVA 枚举、泛型]]></title><link>https://blog.youkuaiyun.com/SetO2/article/details/42737545</link><guid>https://blog.youkuaiyun.com/SetO2/article/details/42737545</guid><author>SetO2</author><pubDate>Thu, 15 Jan 2015 10:14:36 +0800</pubDate><description><![CDATA[一、枚举
枚举作用是限定某个类成员变量取值是某些固定值，如生活中交通灯抽象成类、颜色为成员变量，则该成员变量就应该有且只有红、黄、绿三个颜色。如果把一周这个事物抽象成类，Day为成员变量，那么成员也是有且只有周一到周日。无论是交通灯还是一周，用户对他们的实例的颜色和Day成员都不能随便赋值，只能赋予其合理合法的值。枚举就能够满足这个要求。
在JDK1.5以前，普通类通过修饰符的限定可以使其具有]]></description><category></category></item><item><title><![CDATA[JAVA 反射]]></title><link>https://blog.youkuaiyun.com/SetO2/article/details/42673323</link><guid>https://blog.youkuaiyun.com/SetO2/article/details/42673323</guid><author>SetO2</author><pubDate>Tue, 13 Jan 2015 10:38:55 +0800</pubDate><description><![CDATA[一、关于反射


下面的代码是关于一个Student类复写equals方法:

 @Override  
    public boolean equals(Object obj) {  
        // TODO Auto-generated method stub  
        if (!(obj instanceof Student))  
            re]]></description><category></category></item><item><title><![CDATA[JAVA 解析XML]]></title><link>https://blog.youkuaiyun.com/SetO2/article/details/42664795</link><guid>https://blog.youkuaiyun.com/SetO2/article/details/42664795</guid><author>SetO2</author><pubDate>Tue, 13 Jan 2015 01:38:07 +0800</pubDate><description><![CDATA[解析XML常见的四种方法分别是：
Dom4j、SAX、DOM、JDOM ，个人对四种方式的理解中Dom4j是比较常用性能也比较高的解析方式，如常见框架解析的XML配置文件也多为DOM4j方式。DOM方式需要对将整个XML文档调入内存生成DOM树驻留在内存中，耗费内存空间，但比较适合需要频繁更改XML文档的情况，而SAX方式不需要将XML一次性读进内存在进行解析，而是类似边读边解析，对内存要求较小]]></description><category></category></item><item><title><![CDATA[JAVA 几种常见的设计模式]]></title><link>https://blog.youkuaiyun.com/SetO2/article/details/42654679</link><guid>https://blog.youkuaiyun.com/SetO2/article/details/42654679</guid><author>SetO2</author><pubDate>Mon, 12 Jan 2015 23:26:50 +0800</pubDate><description><![CDATA[一、单例模式
单例设计模式简单说就是无论程序如何运行，采用单例设计模式的类永远只会有一个实例化对象产生。常见方法是将采用单例设计模式的类的构造方法私有化，并在其内部产生该类的实例化对象，并将其封装成private static类型，时定义一个静态方法返回该类的实例。

根据实例对象按需产生或是加载类时就产生可分为懒汉式和饿汉式
饿汉式：

public class SingleDemo]]></description><category></category></item><item><title><![CDATA[JAVA String及基本数据类型包装类]]></title><link>https://blog.youkuaiyun.com/SetO2/article/details/42621203</link><guid>https://blog.youkuaiyun.com/SetO2/article/details/42621203</guid><author>SetO2</author><pubDate>Sun, 11 Jan 2015 23:14:36 +0800</pubDate><description><![CDATA[一、String类
String非基本数据类型，但是同基本数据类型一样更为常用。

public class StringTest {
	public static void main(String[] args) {
		String str=new String("aaa");
		String str1="aaa";
		System.out.println(str.equals(st]]></description><category></category></item><item><title><![CDATA[JAVA 异常处理]]></title><link>https://blog.youkuaiyun.com/SetO2/article/details/42592315</link><guid>https://blog.youkuaiyun.com/SetO2/article/details/42592315</guid><author>SetO2</author><pubDate>Sat, 10 Jan 2015 23:23:02 +0800</pubDate><description><![CDATA[关于异常
异常：就是程序在运行时出现不正常情况。
异常由来：问题也是现实生活中一个具体的事物，也可以通过java的类的形式进行描述。并封装成对象。其实就是java对不正常情况进行描述后的对象体现。
对于问题的划分：两种：一种是严重的问题，一种非严重的问题。
对于严重的，java通过Error类进行描述。对于Error一般不编写针对性的代码对其进行处理。
对与非严重的，java通过Exce]]></description><category></category></item><item><title><![CDATA[JAVA 集合框架总结]]></title><link>https://blog.youkuaiyun.com/SetO2/article/details/42584529</link><guid>https://blog.youkuaiyun.com/SetO2/article/details/42584529</guid><author>SetO2</author><pubDate>Sat, 10 Jan 2015 17:33:45 +0800</pubDate><description><![CDATA[一、关于集合
集合是封存对象的容器，比数组的功能更为强大，Collections类提供了对集合操作的多种便捷方法，从数据结构上讲，集合实现了多种数据结构，树、图、哈希表、顺序存储、链式存储等等。而数组仅仅实现了顺序存储。对于同为顺序结构的数组和ArrayList来讲，效率上数组更高，因为ArrayList其实现也是封装了数组，但集合提供了多种操作和长度可变等许多优点。对于其他存储结构来说，集合优]]></description><category></category></item><item><title><![CDATA[JAVA 网络编程]]></title><link>https://blog.youkuaiyun.com/SetO2/article/details/42555165</link><guid>https://blog.youkuaiyun.com/SetO2/article/details/42555165</guid><author>SetO2</author><pubDate>Fri, 09 Jan 2015 15:03:53 +0800</pubDate><description><![CDATA[一、网络编程相关
IP地址:网络中设备的标识，不易记忆，可用主机名
本地地址：127.0.0.1  主机名：localhost
端口(逻辑端口 )：
用于标识进程的逻辑地址，不同进程的标识
有效端口：0~65535，其中0~1024系统使用或保留端口。
计算机间通讯实质是两个进程间的通讯，而IP地址标示计算机物理设备，端口号就是标示具体进程

如图中每个设备发出的数据包中都包含有类]]></description><category></category></item><item><title><![CDATA[JAVA IO]]></title><link>https://blog.youkuaiyun.com/SetO2/article/details/42494245</link><guid>https://blog.youkuaiyun.com/SetO2/article/details/42494245</guid><author>SetO2</author><pubDate>Wed, 07 Jan 2015 15:53:31 +0800</pubDate><description><![CDATA[一、关于Java IO的概述


IO流用来处理设备之间的数据传输Java对数据的操作是通过流的方式Java用于操作流的对象都在IO包中IO流按照流向划分为输入流、输出流IO流按照操作数据划分为字符流（专门处理文字）、字节流
我理解的程序处理数据过程大致如下：



二、File相关操作
一个File类的实例代表一个文件或文件夹，File.pathSeparator指的是分隔连续]]></description><category></category></item><item><title><![CDATA[JAVA 多线程]]></title><link>https://blog.youkuaiyun.com/SetO2/article/details/42297605</link><guid>https://blog.youkuaiyun.com/SetO2/article/details/42297605</guid><author>SetO2</author><pubDate>Wed, 31 Dec 2014 17:47:55 +0800</pubDate><description><![CDATA[一、进程与线程


个人所理解进程与线程的关系，如图：



        进程是资源的拥有者，所以切换中系统要付出较大的时空开销，如图中A-->B所占用的时间片段。因此导致系统中的进程数和切换频率不宜过高，限制了并发程度的提高，而线程不属于资源被分配的单位，只是共享所属进程的资源，因此可以轻装上阵，线程间的切换开销要比进程少得多，由于资源是共享的所以进程间的通信也比进程间通信容易]]></description><category></category></item></channel></rss>