<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Michael的专栏]]></title><description><![CDATA[书山有路勤为径，学海无涯苦作舟。]]></description><link>https://blog.youkuaiyun.com/ocelight</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ocelight]]></copyright><item><title><![CDATA[Android 播放Gif 动画]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/8473769</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/8473769</guid><author>ocelight</author><pubDate>Sun, 06 Jan 2013 16:55:26 +0800</pubDate><description><![CDATA[在Android 中是不支持直接使用Gif 图片关联播放帧动画，如下动画在Android 中是无法播放的：

Android 提供了另外一种解决的办法，就是使用AnimationDrawable 这一函数使其支持逐帧播放，但是如何把gif 图片打散开来，成为每一帧的图片呢？下面介绍两种比较不错的软件，可以帮我们打散图片。
gifsplitter2.0

下载地址：gif分割 
使用方法]]></description><category></category></item><item><title><![CDATA[各种开发源代码软件许可证异同]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/6270159</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/6270159</guid><author>ocelight</author><pubDate>Wed, 23 Mar 2011 10:09:00 +0800</pubDate><description><![CDATA[<br />共同点总结<br />1:发布的义务－将获得的原代码再发布<br />2:对发布的源代码的要求－必须保证源代码的完整和可以被获取<br />3:允许修改-可以根据获取的源代码产生演绎作品不同点对比是否允许可以同其他非开放源码软件代码混合是否可以对源代码的修改不公开(注1)是否明确了专利许可授权是否明确了专利侵权诉讼导致许可证协议终止是否明确禁止与函数库连接是否只能按本许可证发布源代码是否要求对于获得的源代码可能存在的知识产权进行以“LEGAL”为抬头的提示GPL许可证NNNNYYNLGPL许可证]]></description><category></category></item><item><title><![CDATA[个总开源License授权]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/6270077</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/6270077</guid><author>ocelight</author><pubDate>Wed, 23 Mar 2011 09:53:00 +0800</pubDate><description><![CDATA[<br />共同点总结<br />1:发布的义务－将获得的原代码再发布<br />2:对发布的源代码的要求－必须保证源代码的完整和可以被获取<br />3:允许修改-可以根据获取的源代码产生演绎作品不同点对比是否允许可以同其他非开放源码软件代码混合是否可以对源代码的修改不公开(注1)是否明确了专利许可授权是否明确了专利侵权诉讼导致许可证协议终止是否明确禁止与函数库连接是否只能按本许可证发布源代码是否要求对于获得的源代码可能存在的知识产权进行以“LEGAL”为抬头的提示GPL许可证NNNNYYNLGPL许可证]]></description><category></category></item><item><title><![CDATA[Android Activity生命周期总结]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/5958374</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/5958374</guid><author>ocelight</author><pubDate>Fri, 22 Oct 2010 10:50:00 +0800</pubDate><description><![CDATA[<br />Android操作系统以一个stack的形式来管理activity，stack是一个后进先出的数据结构，当一个activity位于另一个activity之上并且是当前正在运行的activity，那么这个activity就到了这个stack的顶部。<br />正面是Activity的4种基本状态：Active/Runing

一个新 Activity 启动入栈后，它在屏幕最前端，处于栈的最顶端，此时它处于可见并可和用户交互的激活状态。Paused

 当 Activity 被另一个透明或者]]></description><category></category></item><item><title><![CDATA[关于java中char，byte，short的移位操作]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/5904714</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/5904714</guid><author>ocelight</author><pubDate>Sat, 25 Sep 2010 11:37:00 +0800</pubDate><description><![CDATA[<br />在Think in Java中有这么一段话“对
char，byte或者short进行移位处理，那么在移位进行之前，它们会自动转换成一个int。只有右侧的5个低位才会有用。这样可防止我们在一个
int数里移动不切实际的位数。若对一个long值进行处理，最后得到的结果也是long。此时只会用到右侧的6个低位，防止移动超过long值里现成的
位数
。”<br />对
上面那段话的理解是：移位操作符操作的运算对象是二进制的“位”，int类型是32位也就是2的5次幂 
！如果移32位以上，那么]]></description><category></category></item><item><title><![CDATA[WINDOW下Subversion服务器搭建]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/5831649</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/5831649</guid><author>ocelight</author><pubDate>Mon, 23 Aug 2010 13:29:00 +0800</pubDate><description><![CDATA[<br />如何快速建立Subversion服务器，并且在项目中使用起来，这是大家最关心的问题，与CVS相比，Subversion有更多的选择，也更加的容易，几个命令就可以建立一套服务器环境，可以使用起来，这里配套有动画教程。 <br />本文是使用Subversion最快速的教程，在最短的时间里帮助您建立起一套可用的服务器环境，只需略加调整就可以应用到实际项目当中。 <br />本教程分为以下几个部门，不仅仅是快速入门，最后我们还有一些高级功能的说明，为了说明简单，教程是在windows下使用的方式，以方]]></description><category></category></item><item><title><![CDATA[对SSL握手协议的研究(2)]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/5820047</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/5820047</guid><author>ocelight</author><pubDate>Wed, 18 Aug 2010 10:04:00 +0800</pubDate><description><![CDATA[Client处理和回应Server Hello阶段客户端收到服务器发过来的那些消息，要做的是验证服务器证书，发送自己的证书（如果双向认证），发送计算出的预主密码，发送证书验证消息。收到Server Hello在server
hello 阶段连续的发了多个消息，最先发出的是server hello，client收到后将SSL会话ID，服务器端的一个随机数，协商出的SSL协议版本号以及密钥套件放到会话缓存中。收到Server Certificates接下来收到的应该是server端的证书消息了，取出所有的消息]]></description><category></category></item><item><title><![CDATA[SSL握手协议研究(1)]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/5820038</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/5820038</guid><author>ocelight</author><pubDate>Wed, 18 Aug 2010 10:03:00 +0800</pubDate><description><![CDATA[<br />SL握手过程即完成身份认证和建立加密通道的过程，分为四种。<br /><br />――Full Handshake
: 全流程握手，C/S双方从无到有建立SSL连接；<br /><br /><br />――Resum session Handshake
: C/S双方曾经建立过连接，但中途断了，SSL会话信息还有保留，只需要执行部分握手流程就可建立SSL连接；<br /><br /><br />――Server Re-negotiation Handshake
: 已经建立了SSL连接，但]]></description><category></category></item><item><title><![CDATA[Java keytool工具的作用及使用方法]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/5775700</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/5775700</guid><author>ocelight</author><pubDate>Fri, 30 Jul 2010 10:16:00 +0800</pubDate><description><![CDATA[<br />Keytool 是安全钥匙与证书的管理工具.它管理一个存储了私有钥匙和验证相应公共钥匙的与它们相关联的X.509 <br />
证书链的keystore(相当一个数据库). <br />
Keytool 是一个有效的安全钥匙和证书的管理工具. <br />
它能够使用户使用数字签名来管理他们自己的私有/公共钥匙对,管理用来作自我鉴定的相关的证书,管理数据完整性和鉴定服务.它还能使用户在通信时缓存它们<br />
的公共钥匙. <br />
一个证书是某一实体(个人,公司等)的数字签名,]]></description><category></category></item><item><title><![CDATA[SSL双向认证java实现]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/5771536</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/5771536</guid><author>ocelight</author><pubDate>Wed, 28 Jul 2010 15:49:00 +0800</pubDate><description><![CDATA[<br />本文通过模拟场景，介绍SSL双向认证的java
实现<br /><br />
默认的情况下，我认为读者已经对SSL原理有一定的了解，所以文章
中对SSL的原理，不做详细的介绍。<br />
如果有这个需要，那么通过GOOGLE，可以搜索到很多这样的文章。<br /><br />
模拟场景：<br />
Server端和Client端通信，需要进行授权和身份的验证，即Client只能接受Server的消息，Server只能接受Client的消息。<br /><br />
实现技术：<]]></description><category></category></item><item><title><![CDATA[ ASN.1编码学习笔记二]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/5663879</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/5663879</guid><author>ocelight</author><pubDate>Fri, 11 Jun 2010 13:32:00 +0800</pubDate><description><![CDATA[<br />３．ASN.1数据类型<br />        ASN.1针对广泛的应用定义了多种数据类型，我们这里只讨论跟密码学应用相关的数据类型．我们将讨论如下数据类型： 
 
　　布尔型 (Boolean);        八位位组串 (OCTET String);        位串 (BIT String);        IA5String;        可打印字符串 (PrintableString);        整数 (INTEGER);        对象标识符 (OBJECT I]]></description><category></category></item><item><title><![CDATA[ASN.1编码学习笔记 一]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/5663877</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/5663877</guid><author>ocelight</author><pubDate>Fri, 11 Jun 2010 13:31:00 +0800</pubDate><description><![CDATA[<br />１．什么是ASN.1（抽象语法记法一)?<br />        
ASN.1是ITU-T的一个标准集，它用来编码及表示通用数据类型，这些数据类型有可打印串值，八位位组串值，位串值，整数值以及用可移值方式组合而成
的其他类型序列值．简单的说，ASN.1指定了以何种方式对非平凡的数据类型进行编码，以便其他任何平台及第三方工具都能够解释其内容．比如，字母a在一
些平台以ASCII编码为十进制数值97,而在其他非ASCII平台上，可能会是另外的编码．而ASN.1指定了一种编码方式，在任何平台上]]></description><category></category></item><item><title><![CDATA[ASN.1 入门]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/5657485</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/5657485</guid><author>ocelight</author><pubDate>Wed, 09 Jun 2010 09:59:00 +0800</pubDate><description><![CDATA[<br />一、介绍<br />Abstract Syntax Notation One (ASN.1)是一种独立于机器的描述语言，用于描述在网络上传递的消息<br /> 标准包括:  ISO 8824-1 | ITU-T X.680: Specification of basic notation, <br /> ISO 8824-2 | ITU-T X.681: Information object specification, <br /> ISO 8824-3 | ITU-T X.682: Cons]]></description><category></category></item><item><title><![CDATA[ 15 个 JavaScript Web UI 库]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/5619639</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/5619639</guid><author>ocelight</author><pubDate>Mon, 24 May 2010 11:30:00 +0800</pubDate><description><![CDATA[几乎所有的富 Web 应用都基于一个或多个 Web UI 库或框架，这些 UI 库与框架极大地简化了开发进程，并带来一致，可靠，以及高度交互性的用户界面。本文介绍了 15 个非常强大的 JavaScript Web UI 库，非常适合各种各种规模的富 Web 应用的开发。LivePipeLivePipe   UI 基于 Prototype   Javascript 框架]]></description><category></category></item><item><title><![CDATA[LDAP 入门知识]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/5563392</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/5563392</guid><author>ocelight</author><pubDate>Thu, 06 May 2010 14:55:00 +0800</pubDate><description><![CDATA[LDAP的基本概念LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写，是一种基于 客户机/服务器模式的目录服务访问协议.其实是一话号码簿，LDAP是一种特殊的数据库。LDAP目录的优势LDAP协议是跨平台的和标准的协议，因此应用程序就不用为LDAP目录放在什么样的服务器上操心了。LDAP服务器可以用“推”或]]></description><category></category></item><item><title><![CDATA[日常记录项：crontab 使用格式說明]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/5465908</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/5465908</guid><author>ocelight</author><pubDate>Fri, 09 Apr 2010 09:55:00 +0800</pubDate><description><![CDATA[crontab 使用格式說明Linux/Unix 系統有個 crontab 程式是用來讓系統各使用者自行設定在需要的時間   ，做需要的事。例如使用者可以設定每星期三的早上8點會自動ftp 到某地去抓檔案，   或每天半夜3點自動備份資料等...要有定時裝置，記憶体內要常註 /usr/sbin/crond 程式一般 Linux 在開機]]></description><category></category></item><item><title><![CDATA[JVM崩溃的原因及解决！]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/5393258</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/5393258</guid><author>ocelight</author><pubDate>Thu, 18 Mar 2010 16:20:00 +0800</pubDate><description><![CDATA[前些天，搞JNI的时候，报了个JVM崩溃的错。错误信息如下：## An unexpected error has been detected by HotSpot Virtual Machine:##  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x009fcf52, pid=4752, tid=4440## Java VM: Java Hot]]></description><category></category></item><item><title><![CDATA[Java 6 中自带的 Java DB(derby) 数据库]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/5382284</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/5382284</guid><author>ocelight</author><pubDate>Mon, 15 Mar 2010 16:29:00 +0800</pubDate><description><![CDATA[新安装了 JDK 6 的程序员们也许会发现，除了传统的 bin、jre 等目录，JDK 6 新增了一个名为 db 的目录。这便是 Java 6 的新成员：Java DB。这是一个纯 Java 实现、开源的数据库管理系统（DBMS），源于 Apache 软件基金会（ASF）名下的项目 Derby。它只有 2MB 大小，对比动辄上 G 的数据库来说可谓袖珍。但这并不妨碍 Derby 功能齐备，支持几乎]]></description><category></category></item><item><title><![CDATA[Java DB 和 JDBC 4.0]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/5382271</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/5382271</guid><author>ocelight</author><pubDate>Mon, 15 Mar 2010 16:26:00 +0800</pubDate><description><![CDATA[http://developers.sun.com/javadb/Java SE 6 新特性: Java DB 和 JDBC 4.0 http://www.ibm.com/developerworks/cn/java/j-lo-jse65/长久以来，由于大量（甚至几乎所有）的 Java 应用都依赖于数据库，如何使用 Java 语言高效、可靠、简洁地访问数据库一直是程序员们津津乐道的话题]]></description><category></category></item><item><title><![CDATA[jdk自带工具使用]]></title><link>https://blog.youkuaiyun.com/ocelight/article/details/5381499</link><guid>https://blog.youkuaiyun.com/ocelight/article/details/5381499</guid><author>ocelight</author><pubDate>Mon, 15 Mar 2010 13:37:00 +0800</pubDate><description><![CDATA[最近压力测试和调优Liferay portal，所以需要找到一种工具，可以比较好的监测VM工具。本来想使用商用工具，但偶然间发现SUN 的JDK中新添了几个工具，并且非常好用。秉承着有免费，不用商用的原则。开始使用新的JDK工具，以下简单介绍一下这几种工具。(注：本文章下的所有工具都存在JDK5.0以上版本的工具集里，同javac一样，不须特意安装)我一共找到以下五个工具：jinfo:可以输出并修]]></description><category></category></item></channel></rss>