<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[简洁是智慧的灵魂]]></title><description><![CDATA[大道至简，优化性能和提升效率；更多知识点分享https://github.com/wangpeifeng669/DevelopStudy]]></description><link>https://blog.youkuaiyun.com/wangpeifeng669</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wangpeifeng669]]></copyright><item><title><![CDATA[编码理解]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/50035399</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/50035399</guid><author>wangpeifeng669</author><pubDate>Wed, 25 Nov 2015 12:49:04 +0800</pubDate><description><![CDATA[在计算机内部，所有信息都表示成二进制01，若要显示出来让人看懂，需要进行编码转换。如汉字”严”以 Unicode编码保存到计算机中是4E25，即01001110 00100101，显示给用户看时，通过Unicode编码表查看4E25对应的是”严”，显示出来。 
编码的发展过程：（1）ASCII码字节是计算机存储的基本单位，一字节等于八位（1byte = 8bit）。一个字节可以表示256种状态（00]]></description><category></category></item><item><title><![CDATA[安全机制了解]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/49990661</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/49990661</guid><author>wangpeifeng669</author><pubDate>Mon, 23 Nov 2015 08:39:51 +0800</pubDate><description><![CDATA[安全机制了解（一）base64（1）简介Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。Base64 主要不是加密，它主要的用途是把一些二进制数转成普通字符用于网络传输。 
输出包括A-Z、a-z、数字0-9这62个码字及两个+/两个特殊码字（2）实现原理base64的编码都是按字符串长度，以每3个8bit的字符为一组， 
-然后针对每组，首先获取每个字符的ASCII编码， 
-]]></description><category></category></item><item><title><![CDATA[HttpURLConnection和AndroidHttpClient]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/47296525</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/47296525</guid><author>wangpeifeng669</author><pubDate>Fri, 30 Oct 2015 08:49:29 +0800</pubDate><description><![CDATA[Android中主要提供了两种方式来进行HTTP操作，HttpURLConnection和AndroidHttpClient。
（一）HttpURLConnection
1、HttpURLConnection 是Sun公司提供的网络连接库，提供通用性、轻量级的网络连接，简单，但可扩展性强，基本的网络请求都满足，同时支持IPv6、代理、授权、Cookies等。

2、支持压缩功能，自动在请求]]></description><category></category></item><item><title><![CDATA[计算机网络-http简介]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/47263457</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/47263457</guid><author>wangpeifeng669</author><pubDate>Wed, 28 Oct 2015 09:42:23 +0800</pubDate><description><![CDATA[（一）http相关定义

1.http 协议

HTTP超文本传输协议是一个属于应用层的面向对象的协议，同时是无状态的，所以出现了 cookie 和 session 用来保存状态数据。当使用 http 连接时，http1.0默认设置Connection: keep-alive可以不断开重复使用连接。

2.http 请求过程

web 前端：浏览器输入url回车，发送 request 获取到该 u]]></description><category></category></item><item><title><![CDATA[groovy的使用-简介]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/48173817</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/48173817</guid><author>wangpeifeng669</author><pubDate>Tue, 27 Oct 2015 08:22:42 +0800</pubDate><description><![CDATA[Groovy是Java平台上设计的面向对象编程语言，可以作为Java平台的脚本语言使用。在
 android studio 中用的 gradle 就是基于 Groovy 语言的，学习了《Groovy 入门经典》，要点如下。
（1）为什么使用脚本语言
脚本语言和系统语言（如 java）设计的目的不同。脚本语言多用于连接已有的程序，不是实现复杂的算法和数据结构，代码量少，开发效率高，多用于小中型]]></description><category></category></item><item><title><![CDATA[java-多线程深入（六）锁]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/42779591</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/42779591</guid><author>wangpeifeng669</author><pubDate>Wed, 19 Aug 2015 07:48:35 +0800</pubDate><description><![CDATA[java多线程中提供的锁：synchronized和lock。
（一）synchronized
1、synchronized的使用
每个对象都自带锁，锁可以同步实例方法（this是对象锁）、静态方法（class是对象锁）、方法块（synchronized参数是对象锁）]]></description><category></category></item><item><title><![CDATA[java-集合类（二）]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/47167779</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/47167779</guid><author>wangpeifeng669</author><pubDate>Tue, 18 Aug 2015 10:18:56 +0800</pubDate><description><![CDATA[使用场景

1.多线程

（1）在jdk1.5之前原始的集合类中，只有vector、stack、hashtable、enumeration等是线程安全的，其他的都是非线程安全的。 
非线程安全的集合在多线程操作中，会出现脏数据，如

final List tickets = new ArrayList();
        for (int i = 0; i 100000; i++) {]]></description><category></category></item><item><title><![CDATA[java-集合类（一）]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/46649249</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/46649249</guid><author>wangpeifeng669</author><pubDate>Wed, 05 Aug 2015 08:54:45 +0800</pubDate><description><![CDATA[概念理解

1.集合类

集合类用来存放动态变化的数据集合，因数组只能存储固定数量的数据集，集合类更灵活。



2.各集合类简介

 
（1）接口 
Iterable：实现集合遍历功能，每个集合类都实现，支持 foreach 
Collection：基本集合接口，支持增删查功能，包含 List、Set、Queue 接口。 
List：可重复的数据集合，有索引方便增删改查。 
Set：不可重复的数]]></description><category></category></item><item><title><![CDATA[java-多线程深入（五）Atomic分析]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/42775667</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/42775667</guid><author>wangpeifeng669</author><pubDate>Thu, 28 May 2015 08:41:11 +0800</pubDate><description><![CDATA[（一）Atomic的使用
java.util.concurrent中提供了atomic原子包，可以实现原子操作（atomic operation），即在多线程环境中，执行的操作不会被其他线程打断。
/**
 * atomic简单demo
 * 
 * @author peter_wang
 * @create-time 2014-6-9 上午9:29:58
 */
public c]]></description><category></category></item><item><title><![CDATA[java-多线程深入（四）Volatile分析]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/42712433</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/42712433</guid><author>wangpeifeng669</author><pubDate>Sat, 31 Jan 2015 08:26:51 +0800</pubDate><description><![CDATA[（一）volatile的使用
1、使用场景
（1）状态标识。用于实时指示某个重要性事件的发生，比如完成初始化或者停机。
volatile boolean toShutdown;

    ......

    public void shutdown() { toShutdown = true; }

    public void doWork() { 
        while (!]]></description><category></category></item><item><title><![CDATA[java-多线程深入（三）happens-before介绍]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/42639331</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/42639331</guid><author>wangpeifeng669</author><pubDate>Tue, 27 Jan 2015 11:18:37 +0800</pubDate><description><![CDATA[多线程操作中，需注意互斥性和可见性，重点了解下可见性。
（一）可见性问题来源
1.cpu和内存速度相差过高，引入缓存（cache、寄存器等）；一个线程由线程id、指令计数器PC、寄存器集合和堆栈构成，详见《程序员的自我修养》。
每个线程有自己的工作内存，修改进程主内存的值，都需要拷贝到工作内存修改后，再回写，其他现场可能出现，读取到未回写的脏数据。
2.]]></description><category></category></item><item><title><![CDATA[java-多线程深入（二）互斥性和可见性]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/42642275</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/42642275</guid><author>wangpeifeng669</author><pubDate>Mon, 26 Jan 2015 10:12:35 +0800</pubDate><description><![CDATA[（一）互斥性
互斥性，即原子性。原子，指最小的物质，具体不可再分性。
CPU运算中，对多线程进行时间片分割执行，一个程序块执行时不可分割，即满足互斥性原子性。
java中保证互斥性的方法：
1.用sychronized锁住程序块，实行互斥

synchronized (lock) {  
    a++;
}
2.用Atomic对变量操作实行互斥
public final stat]]></description><category></category></item><item><title><![CDATA[java-多线程深入（一）JMM]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/42523753</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/42523753</guid><author>wangpeifeng669</author><pubDate>Tue, 20 Jan 2015 09:16:27 +0800</pubDate><description><![CDATA[（一）java内存区域概况
jvm运行java程序时把所管理的内存分成几个部分：方法区、java栈、本地方法栈、java堆、pc程序计数器。
class字节码装载解析后，在多线程环境中，方法区和java堆数据共享，每个线程自带pc程序计数器和java栈，栈帧中包含方法的所有状态（局部变量、传参、返回值、运算中间结果等）。对共享数据需要考虑多线程并发问题。
更详细内容可参考《深入理解JVM虚拟]]></description><category></category></item><item><title><![CDATA[java-ThreadLocal简介]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/42270207</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/42270207</guid><author>wangpeifeng669</author><pubDate>Tue, 30 Dec 2014 20:03:40 +0800</pubDate><description><![CDATA[android中的Looper类，使用了ThreadLocal保存每个线程的Looper
static final ThreadLocal sThreadLocal = new ThreadLocal();

简单了解下ThreadLocal的概念和使用。
（一）概念
ThreadLocal为每个线程提供变量的副本，该变量线程间独立不影响。


（二）使用
/**
 * Thre]]></description><category></category></item><item><title><![CDATA[ant工具-多渠道自动打包android项目]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/40343701</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/40343701</guid><author>wangpeifeng669</author><pubDate>Mon, 10 Nov 2014 08:59:17 +0800</pubDate><description><![CDATA[ant简介和多渠道打包]]></description><category></category></item><item><title><![CDATA[android深入之UI（一）图片]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/40477567</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/40477567</guid><author>wangpeifeng669</author><pubDate>Mon, 27 Oct 2014 08:32:22 +0800</pubDate><description><![CDATA[（一）创建图片Bitmap的类型
BitmapFactory.Options代表Bitmap存储的方式





ALPHA_8
只有alpha值，占1字节


ARGB_4444
不推荐，ARGB各占4bits，共占2字节


ARGB_8888
默认保存方式，ARGB各占8bits，共占4字节


RGB_565
没alpha值，共占2字节]]></description><category></category></item><item><title><![CDATA[apk反编译工具-apktool]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/40076775</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/40076775</guid><author>wangpeifeng669</author><pubDate>Mon, 27 Oct 2014 08:31:11 +0800</pubDate><description><![CDATA[apk是很容易被反编译的
（一）反编译的好处
1.能学习别人优秀代码
看看优秀apk他们的string、color命名规则，看看布局排版等都能学习到东西。
2.进行简单修改，二次打包]]></description><category></category></item><item><title><![CDATA[java-异常详解]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/39518625</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/39518625</guid><author>wangpeifeng669</author><pubDate>Sun, 28 Sep 2014 05:55:07 +0800</pubDate><description><![CDATA[（一）异常出现的原因
（二）异常分类
（三）异常的使用]]></description><category></category></item><item><title><![CDATA[java-HashMap分析]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/39433047</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/39433047</guid><author>wangpeifeng669</author><pubDate>Tue, 23 Sep 2014 07:27:18 +0800</pubDate><description><![CDATA[（一）哈希算法
（二）java中的hashcode
（三）hashmap源码分析]]></description><category></category></item><item><title><![CDATA[java-字符串]]></title><link>https://blog.youkuaiyun.com/wangpeifeng669/article/details/39296453</link><guid>https://blog.youkuaiyun.com/wangpeifeng669/article/details/39296453</guid><author>wangpeifeng669</author><pubDate>Tue, 16 Sep 2014 08:30:15 +0800</pubDate><description><![CDATA[字符串在开发中非常常见，了解String是非常有必要的，还能提升系统性能。]]></description><category></category></item></channel></rss>