<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xiang912的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xiang912</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xiang912]]></copyright><item><title><![CDATA[Java线程.]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/51012641</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/51012641</guid><author>xiang912</author><pubDate>Wed, 30 Mar 2016 11:06:37 +0800</pubDate><description><![CDATA[Java 线程基本概念
线程 
线程是程序执行的最小单元, 一个标准的线程由以下部分组成：线程ID
当前指令指针(PC)
寄存器集合
堆栈线程是进程中的一个实体, 是被系统独立调度和分派的基本单位, 线程不拥有系统资源, 只拥有运行中必须的资源, 但是它可以与同一进程中的其他线程共享进程所拥有的全部资源.
进程 
进程是系统进行资源分配和调度的基本单位. 进程是线程的容器. 进程由以下部分组成：程序]]></description><category></category></item><item><title><![CDATA[Servlet复习]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/50998060</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/50998060</guid><author>xiang912</author><pubDate>Mon, 28 Mar 2016 15:07:25 +0800</pubDate><description><![CDATA[Servlet 复习]]></description><category></category></item><item><title><![CDATA[学习node.js第一天]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/50968012</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/50968012</guid><author>xiang912</author><pubDate>Thu, 24 Mar 2016 00:36:45 +0800</pubDate><description><![CDATA[Node.js 学习第一天安装node.js
安装Node.js   我使用的是node-v.4.4.1版本。官网下载地址为https://nodejs.org/en/download/ 
  下载.pkg格式的文件安装即可。
  安装完成后，验证是否安装成功，使用node -v查看Node.js版本 
  node -v  
  
  
从Hello,World!开始
编写helloworld.j]]></description><category></category></item><item><title><![CDATA[Java_IO]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/50965462</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/50965462</guid><author>xiang912</author><pubDate>Wed, 23 Mar 2016 18:19:00 +0800</pubDate><description><![CDATA[Java IO是什么Java.io提供了全面的IO接口。包括：文件读写、标准输入输出设备等。Java中IO是以流为基础进行输入输出的，所有数据被串行化写入输出流，或者从输入流读入。]]></description><category></category></item><item><title><![CDATA[设计模式之禅学习笔记--观察者模式]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/45875741</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/45875741</guid><author>xiang912</author><pubDate>Wed, 20 May 2015 22:32:01 +0800</pubDate><description><![CDATA[一、定义
定义对象间一种一对多的依赖关系，使得每当一个对象改变状态，则所有依赖于它的对象都会得到通知并自动更新。
二、通用类图


1：Subject 被观察者
定义被观察者必须实现的职责，它必须能够动态增加、取消观察者。被观察者必须实现的职责：管理观察者并通知观察者。
2：Observer 观察者
观察者接收到消息后，即进行update操作，对接收到的消息进行处理。
3：Con]]></description><category></category></item><item><title><![CDATA[设计模式之禅学习笔记--组合模式]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/45851133</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/45851133</guid><author>xiang912</author><pubDate>Tue, 19 May 2015 22:59:35 +0800</pubDate><description><![CDATA[一、定义
将对象组合成树形结构以表示“部分-整体”的层次结构，使得用户对单个对象和组合对象的使用具有一致性。
二、通用类图


1：Component 抽象构件角色
定义参加组合对象的共有方法和属性，可以定义一些默认的行为或属性。
2：Leaf 叶子构件
叶子对象，其下再也没有其他的分支，也就是遍历的最小单位。
3：Composite 树枝构件
树枝对象，它的作用是组合树枝节点]]></description><category></category></item><item><title><![CDATA[设计模式之禅学习笔记--迭代器模式]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/45830467</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/45830467</guid><author>xiang912</author><pubDate>Mon, 18 May 2015 23:24:21 +0800</pubDate><description><![CDATA[一、定义
它提供一种方法访问一个容器对象中的各个元素，而不需要暴露该对象的内部细节。
二、通用类图


迭代器模式提供了遍历容器的方便性，容器只要管理增减元素就可以了，需要遍历是交由迭代器进行。
1：Iterator 抽象迭代器
抽象迭代器负责定义访问和遍历元素的接口，而且基本上是有固定的3个方法：first()获取第一个元素，next()访问下一个元素，isDone()是否已经访问]]></description><category></category></item><item><title><![CDATA[设计模式之禅学习笔记--适配器模式]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/45795729</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/45795729</guid><author>xiang912</author><pubDate>Sun, 17 May 2015 21:21:34 +0800</pubDate><description><![CDATA[一、定义
将一个类的接口变换成客户端所期待的另一种接口，从而使原本因接口不匹配二无法一起工作的两个类能够在一起工作。
二、通用类图




1：target 目标角色
该角色定义把其他类转换为何种接口，也就是我们的期望接口。
2：Adaptee 源角色
你想把谁转换成目标角色，这个“谁”就是源角色，它是已经存在的、运行良好的类或对象，经过适配器角色的包装，它会成为一个崭新的角色]]></description><category></category></item><item><title><![CDATA[设计模式之禅学习笔记--策略模式]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/45727985</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/45727985</guid><author>xiang912</author><pubDate>Thu, 14 May 2015 23:22:12 +0800</pubDate><description><![CDATA[一、定义
定义一组算法，将每个算法都封装起来，并且使它们之间可以互换（实现相同的接口）。


二、通用类图


策略模式使用的就是面向对象的继承和多态机制，非常容易理解和掌握。
1：Context 封装角色
它也叫做上下文角色，起承上启下封装作用，屏蔽高层模块对策略、算法的直接封装可能存在的变化。
2：Strategy 抽象策略角色
策略、算法家族的抽象，通常为接口，定义每个]]></description><category></category></item><item><title><![CDATA[设计模式之禅学习笔记--装饰者模式]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/45701339</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/45701339</guid><author>xiang912</author><pubDate>Wed, 13 May 2015 23:39:59 +0800</pubDate><description><![CDATA[一、定义
动态地给一个对象添加一些额外的职责。就增加功能来说，装饰者模式相比生成子类更为灵活。
二、通用类图


1：Component 抽象构件。Component是一个接口或者是抽象类，就是定义我们最核心的对象，也就是最原始的对象。
2：ConcreteComponent 具体构件。ConcreteComponent是最核心、最原始、最基本的接口或抽象类的实现，要装饰的就是它。
]]></description><category></category></item><item><title><![CDATA[设计模式之禅学习笔记--责任链模式]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/45568339</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/45568339</guid><author>xiang912</author><pubDate>Thu, 07 May 2015 23:36:31 +0800</pubDate><description><![CDATA[一、定义
使多个对象都有机会处理请求，从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链，并沿着这条链传递该请求，直到有对象处理它为止。
责任链模式的重点是在“链”上，由一条链去处理相似的请求在链中决定谁来处理这个请求，并返回相应的结果。
二、通用类图


责任链模式的核心在“链”上，“链”是由多个处理者ConcreteHandler组成的。
1：抽象的处理者实现三个]]></description><category></category></item><item><title><![CDATA[设计模式之禅学习笔记--命令模式]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/45541707</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/45541707</guid><author>xiang912</author><pubDate>Wed, 06 May 2015 22:32:23 +0800</pubDate><description><![CDATA[一、定义
命令模式时一个高内聚的模式。将一个请求封装成一个对象，从而让你使用不同的请求把客户端参数化，对请求排队或者记录请求日志，可以提供命令的撤销和恢复功能。
二、通用类图



1：Receive接受者角色：该角色就是干活的角色，命令传递到这里时应该被执行的。
2：Command 命令角色：需要执行的所有命令都在这里声明。
3：Invoker调用者角色：接收命令并执行命令。
]]></description><category></category></item><item><title><![CDATA[设计模式之禅学习笔记--中介者模式]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/45510067</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/45510067</guid><author>xiang912</author><pubDate>Tue, 05 May 2015 23:21:05 +0800</pubDate><description><![CDATA[一、定义
用一个中介对象封装一系列的对象交互，中介者使各对象不需要显示的相互作用，从而使其耦合松散，而且可以独立的改变它们之间的交互。
二、通用类图


中介者模式由以下几部分组成：
1：Mediator抽象中介者角色。抽象中介者角色定义统一的接口，用于各同事角色之间的通信。
2：ConcreteMediator具体中介者角色。具体中介者角色通过协调各同事角色实现协作行为，因为它必须]]></description><category></category></item><item><title><![CDATA[设计模式之禅学习笔记--原型模式]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/45487829</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/45487829</guid><author>xiang912</author><pubDate>Mon, 04 May 2015 23:59:30 +0800</pubDate><description><![CDATA[一、定义
用原型实例指定创建对象的种类，并且通过拷贝这些原型创建新的对象
二、通用类图



原型模式的核心是clone方法，通过 调用该方法进行对象的克隆/拷贝。在Java中提供了一个Cloneable接口来标示这个对象是可以拷贝的。Cloneable接口中没有一个方法，只起到标示作用，只需要重写Object类中的clone()方法即可拷贝该对象。


三、通用代码
publ]]></description><category></category></item><item><title><![CDATA[设计模式前奏]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/44138359</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/44138359</guid><author>xiang912</author><pubDate>Sun, 08 Mar 2015 22:20:27 +0800</pubDate><description><![CDATA[1.什么是设计模式
       设计模式（Design pattern）是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问，设计模式于己于他人于系统都是多赢的；设计模式使代码编制真正工程化；设计模式是软件工程的基石脉络，如同大厦的结构一样。

2.设计模式的基本要素


模式名称（Pat]]></description><category></category></item><item><title><![CDATA[cocos2d 通过节点控制屏幕中的全体渲染对象]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/12584597</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/12584597</guid><author>xiang912</author><pubDate>Thu, 10 Oct 2013 19:40:07 +0800</pubDate><description><![CDATA[在HelloWorldScene.cpp中的init()中添加以下代码
bool HelloWorld::init()
{
    bool bRet = false;
    do 
    {
	if(!CCLayer::init()) {
		return false;
	}

	// 创建一个节点
	CCNode *anode = CCNode::create();
		
	//将节点作]]></description><category></category></item><item><title><![CDATA[在vc上创建cocos2dx项目遇到的问题]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/12525493</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/12525493</guid><author>xiang912</author><pubDate>Wed, 09 Oct 2013 21:39:50 +0800</pubDate><description><![CDATA[在vc上新建cocos2dx项目，调试时遇到
1>f:\coco2d-x\workspace4cocos2d\hellococos\hellococos\proj.win32\main.h(11): fatal error C1083: 无法打开包括文件:“CCStdC.h”: No such file or directory
1>  HelloWorldScene.cpp
1>f:\co]]></description><category></category></item><item><title><![CDATA[android单元测试]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/8896847</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/8896847</guid><author>xiang912</author><pubDate>Tue, 07 May 2013 19:51:13 +0800</pubDate><description><![CDATA[要想调用android单元测试，需要引入android的一些库函数，在配置文件的之前添加：


在之后添加

    android:targetPackage="com.example.file" android:label="Tests for My App">

其中android:targetPackage="com.example.file" 中的com.example.f]]></description><category></category></item><item><title><![CDATA[android实现短信发送功能]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/8748489</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/8748489</guid><author>xiang912</author><pubDate>Mon, 01 Apr 2013 21:08:35 +0800</pubDate><description><![CDATA[今天学的是短信发送功能。
首先是应用的界面：




界面的实现如下：
activity_sms.xml文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android]]></description><category></category></item><item><title><![CDATA[android实现拨号功能]]></title><link>https://blog.youkuaiyun.com/xiang912/article/details/8744080</link><guid>https://blog.youkuaiyun.com/xiang912/article/details/8744080</guid><author>xiang912</author><pubDate>Sun, 31 Mar 2013 21:29:21 +0800</pubDate><description><![CDATA[今天开始我的android学习之旅，每天坚持一个或者两个应用。
首先学习的是电话拨号功能。我是看通过看传智播客的视频来学习的。我认为视频讲得很好，如果有想要学习android开发的，可以去看看。也希望各位大大指出我的不足之处，不胜感激。


首先是应用的界面。




这个界面很简单，界面的设置是在activity_phone.xml  里设置。

<LinearLayout]]></description><category></category></item></channel></rss>