<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[牧之]]></title><description><![CDATA[但行好事，莫问前程。]]></description><link>https://blog.csdn.net/zhoubin1992</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; zhoubin1992]]></copyright><item><title><![CDATA[链表问题总结]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/48975851</link><guid>https://blog.csdn.net/zhoubin1992/article/details/48975851</guid><author>zhoubin1992</author><pubDate>Thu, 08 Oct 2015 18:30:26 +0800</pubDate><description><![CDATA[链表相关问题在面试中出现的频率非常高。以下是我在前段时间学习《剑指offer》过程中对链表问题的总结。
单链表的创建和遍历 
求单链表中节点的个数 
查找单链表中的倒数第k个结点 
查找单链表中的中间结点
反转链表
从尾到头打印单链表
删除链表结点
1. 单链表的创建和遍历/** 
* 构造长度为len的单链表 
* @param len  链表中的元素个数 
* @return head  返回单]]></description><category></category></item><item><title><![CDATA[【Android应用源码分析】Java多线程：线程本地变量ThreadLocal源码分析]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/48937037</link><guid>https://blog.csdn.net/zhoubin1992/article/details/48937037</guid><author>zhoubin1992</author><pubDate>Tue, 06 Oct 2015 21:52:59 +0800</pubDate><description><![CDATA[ThreadLocal简介线程本地变量ThreadLocal为变量在每个线程中都创建了一个副本，每个线程可以访问自己内部的副本变量,不能访问其他线程的该变量，线程之间互不影响。即变量是线程内共享的，线程间互斥的。ThreadLocal类源码分析本文通过jdk1.7）中的ThreaLocal类进行解析：package java.lang;
import java.lang.ref.*;
import]]></description><category></category></item><item><title><![CDATA[Java集合框架常用类源码分析与总结]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/48935733</link><guid>https://blog.csdn.net/zhoubin1992/article/details/48935733</guid><author>zhoubin1992</author><pubDate>Tue, 06 Oct 2015 21:26:56 +0800</pubDate><description><![CDATA[Java集合工具包位于Java.util包下，包含了很多常用的数据结构，如数组、链表、栈、队列、集合、哈希表等。学习Java集合框架下大致可以分为如下五个部分：List列表、Set集合、Map映射、迭代器（Iterator、Enumeration）、工具类（Arrays、Collections）。 
  Java集合类的整体框架如下： 
  ArrayList ArrayList是基于数组实现的，是]]></description><category></category></item><item><title><![CDATA[【Android应用源码分析】IntentService 源码分析]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/48882395</link><guid>https://blog.csdn.net/zhoubin1992/article/details/48882395</guid><author>zhoubin1992</author><pubDate>Sat, 03 Oct 2015 23:34:38 +0800</pubDate><description><![CDATA[IntentService是一个带线程的service，用于处理Intent类型的异步任务请求。当客户端调用startService(Intent)发送请求时，Service服务被启动，且在其内部构建一个工作线程来处理Intent请求。当工作线程执行结束，Service服务会自动停止。IntentService继承于Service，它最大的特点是对服务请求逐个进行处理。当我们要提供的服务不需要同时处]]></description><category></category></item><item><title><![CDATA[http协议、http事务、URL、http请求的方式、响应码信息、http1.0和1.1区别]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/48877075</link><guid>https://blog.csdn.net/zhoubin1992/article/details/48877075</guid><author>zhoubin1992</author><pubDate>Sat, 03 Oct 2015 10:52:05 +0800</pubDate><description><![CDATA[1.什么是http协议超文本传送协议 (HTTP-Hypertext transfer protocol) 定义了浏览器（即万维网客户进程）怎样向万维网服务器请求万维网文档，以及服务器怎样把文档传送给浏览器。从层次的角度看，HTTP是面向（transaction-oriented)应用层协议，它是万维网上能够可靠地交换文件（包括文本、声音、图像等各种多媒体文件）的重要基础。2.什么是HTTP的事务（]]></description><category></category></item><item><title><![CDATA[Java内存区域、内存溢出异常和对象创建、布局、访问全过程]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/48369963</link><guid>https://blog.csdn.net/zhoubin1992/article/details/48369963</guid><author>zhoubin1992</author><pubDate>Fri, 11 Sep 2015 11:36:46 +0800</pubDate><description><![CDATA[这是第二次阅读《深入理解Java虚拟机：JVM高级特性与最佳实践》这本书，之前只能知晓大概，很多细节都记不清了。为了强化理解，融会贯通，在这记录下应该记住的东西和总结。运行时数据区域Java虚拟机在执行Java程序过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有自各的用途，以及创建及销毁时间，有的区域随着虚拟机进程的启动而存在，有些区域则是依赖用户线程的启动和结束而建立和销毁。 
Ja]]></description><category></category></item><item><title><![CDATA[【Android应用源码分析】android中HashMap的替代者——SparseArray 源码分析]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/48269985</link><guid>https://blog.csdn.net/zhoubin1992/article/details/48269985</guid><author>zhoubin1992</author><pubDate>Mon, 07 Sep 2015 20:18:35 +0800</pubDate><description><![CDATA[前言当我们定义HashMap<Integer, E> hashMap = new HashMap<Integer, E>();  时IDE会给出一个 警告：用SparseArray<E>来替代，以获取更好性能。HashMap的get和put时间复杂度是O(1)呀，为什么SparseArray的性能会更好？这两天花时间详细分析了下源码，发现SparseArray的优点主要是节约内存，非常适合于移动端。]]></description><category></category></item><item><title><![CDATA[Android开源项目和应用源码分析]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/48240265</link><guid>https://blog.csdn.net/zhoubin1992/article/details/48240265</guid><author>zhoubin1992</author><pubDate>Sun, 06 Sep 2015 09:56:54 +0800</pubDate><description><![CDATA[把之前Android开源项目分析和Android应用源码分析博文整理如下，方便检索：Android开源项目分析：【Android开源项目分析】android轻量级开源缓存框架——ASimpleCache（ACache）源码分析【Android开源项目分析】自定义圆形头像CircleImageView的使用和源码分析【Android开源项目分析】TAB导航栏PagerSlidingTabStrip的使]]></description><category></category></item><item><title><![CDATA[【高级算法】遗传，模拟退火，禁忌，Lasvegas等算法详解与实现]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/48240163</link><guid>https://blog.csdn.net/zhoubin1992/article/details/48240163</guid><author>zhoubin1992</author><pubDate>Sun, 06 Sep 2015 09:49:50 +0800</pubDate><description><![CDATA[把之前高级算法系列博文整理如下，方便检索：【高级算法】禁忌搜索算法解决3SAT问题(C++实现)【高级算法】模拟退火算法解决3SAT问题(C++实现)【高级算法】Lasvegas算法解决3SAT问题（C++实现代码）【高级算法】Lasvegas+回溯算法解决3SAT问题（C++实现）【高级算法】单纯形法求解线性规划问题（C++实现）【高级算法】遗传算法解决3SAT问题（C++实现）模拟退火算法解决0]]></description><category></category></item><item><title><![CDATA[垃圾回收中对象的五种可达性——强、软、弱、虚、不可达]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/48175565</link><guid>https://blog.csdn.net/zhoubin1992/article/details/48175565</guid><author>zhoubin1992</author><pubDate>Wed, 02 Sep 2015 11:08:44 +0800</pubDate><description><![CDATA[在javaAPI文档 
https://docs.oracle.com/javase/8/docs/api/java/lang/ref/package-summary.html 
中介绍了Java.lang.ref，它提供了与 Java 垃圾回收器密切相关的引用类。 
并且介绍了对象的可达性。ReachabilityGoing from strongest to weakest, the diffe]]></description><category></category></item><item><title><![CDATA[【Android应用源码分析】HandlerThread 源码分析]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/48164505</link><guid>https://blog.csdn.net/zhoubin1992/article/details/48164505</guid><author>zhoubin1992</author><pubDate>Tue, 01 Sep 2015 22:04:18 +0800</pubDate><description><![CDATA[Android提供了一个封装好的带有looper的线程类，即为HandlerThread。 本质就是个Thread。Thread线程是一次性消费品，当Thread线程执行完一个耗时的任务之后，线程就会被自动销毁了。如果我们需要一个工作者线程，而不是把它当作一次性消耗品，那么就可以使用HandlerThread。Android 5.1中HandlerThread源码分析/**
 * Handy cla]]></description><category></category></item><item><title><![CDATA[Android开发——Activity生命周期中的一些注意点]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/48106247</link><guid>https://blog.csdn.net/zhoubin1992/article/details/48106247</guid><author>zhoubin1992</author><pubDate>Sun, 30 Aug 2015 16:53:25 +0800</pubDate><description><![CDATA[1.    Activity的onDestory()在Activity关闭时一定会被调用吗？    There are situations where the system will simply kill the activity's hosting process without calling this method (or any others) in it, so it should n]]></description><category></category></item><item><title><![CDATA[Android开发——Handler引起的内存泄露]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/48102921</link><guid>https://blog.csdn.net/zhoubin1992/article/details/48102921</guid><author>zhoubin1992</author><pubDate>Sun, 30 Aug 2015 11:05:25 +0800</pubDate><description><![CDATA[在Android异步消息处理中，    Handler mHandler = new Handler() {  
        @Override  
        public void handleMessage(Message msg) {  
            //
        }  
    };
但当我们这么写时，编译器会给出警告提示：Handler类应该是静态的，可能发生]]></description><category></category></item><item><title><![CDATA[Android开发——Home键监听方法总结]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/48064801</link><guid>https://blog.csdn.net/zhoubin1992/article/details/48064801</guid><author>zhoubin1992</author><pubDate>Fri, 28 Aug 2015 23:08:24 +0800</pubDate><description><![CDATA[上周遇到一个这样的问题：监听Home键。 
对于Back键的监听比较容易,可以在多个系统回调处拦截,使用onKeydown方法可以处理菜单键和back键。@Override
    public void onBackPressed() {
        // super.onBackPressed();//注释掉这行,back键不退出activity
    }    @Override]]></description><category></category></item><item><title><![CDATA[Android开发——webView的缓存清除和将缓存存储到sd卡]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/48054109</link><guid>https://blog.csdn.net/zhoubin1992/article/details/48054109</guid><author>zhoubin1992</author><pubDate>Fri, 28 Aug 2015 16:20:59 +0800</pubDate><description><![CDATA[webView本身自带了缓存机制。 
具体缓存机制是什么，请看 
Android WebView缓存机制详解 
了解后知道webView的缓存（图片，URL等）都是在data目录下的，大家都明白手机内部存储是有限的，这时就需要进行缓存清除。/**
     * 清除WebView缓存
     */
    public void clearWebViewCache(){        //清理We]]></description><category></category></item><item><title><![CDATA[JAVA多线程和并发性知识点总结]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/48049535</link><guid>https://blog.csdn.net/zhoubin1992/article/details/48049535</guid><author>zhoubin1992</author><pubDate>Fri, 28 Aug 2015 11:16:23 +0800</pubDate><description><![CDATA[上次我总结了一份JAVA 面向对象和集合知识点总结： 
http://blog.csdn.net/zhoubin1992/article/details/46481759 
这次对JAVA多线程和并发性相关知识点进行总结，方便各位博友学习以及自己复习之用。一、 什么是进程、线程？线程和进程的区别？1. 进程 
当一个程序进入内存运行时，即变成一个进程。进程是处于运行过程中的程序。 
进程是操作系统进]]></description><category></category></item><item><title><![CDATA[android开发——自定义相机（Camera）开发总结]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/47670927</link><guid>https://blog.csdn.net/zhoubin1992/article/details/47670927</guid><author>zhoubin1992</author><pubDate>Fri, 14 Aug 2015 23:46:42 +0800</pubDate><description><![CDATA[最近这段时间我一直在开发自定义相机，谷歌了些网上的demo，发现有很多各种各样的问题。最终还是从API的camera类开始学习，进行改进。下面对之前的实现进行一些总结。官方camera API: 
http://developer.android.com/guide/topics/media/camera.html 
中文翻译： 
http://www.cnblogs.com/over140/arc]]></description><category></category></item><item><title><![CDATA[【Android开源项目分析】TAB导航栏PagerSlidingTabStrip的使用和源码分析]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/47382021</link><guid>https://blog.csdn.net/zhoubin1992/article/details/47382021</guid><author>zhoubin1992</author><pubDate>Sun, 09 Aug 2015 23:22:38 +0800</pubDate><description><![CDATA[转载请注明出处：http://blog.csdn.net/zhoubin1992/article/details/47382021 
本文分为两部分：
PagerSlidingTabStrip的使用 
PagerSlidingTabStrip源码分析PagerSlidingTabStrip项目源码下载：  
https://github.com/astuetz/PagerSlidingTabStri]]></description><category></category></item><item><title><![CDATA[【剑指Offer面试题】 九度OJ1504：把数组排成最小的数]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/47365359</link><guid>https://blog.csdn.net/zhoubin1992/article/details/47365359</guid><author>zhoubin1992</author><pubDate>Sun, 09 Aug 2015 00:21:39 +0800</pubDate><description><![CDATA[题目链接地址：  
http://ac.jobdu.com/problem.php?pid=1504题目1504：把数组排成最小的数时间限制：1 秒内存限制：128 兆特殊判题：否提交：1696解决：533 
题目描述： 
输入一个正整数数组，把数组里所有数字拼接起来排成一个数，打印能拼接出的所有数字中最小的一个。例如输入数组{3，32，321}，则打印出这三个数字能排成的最小数字为321323。]]></description><category></category></item><item><title><![CDATA[【剑指Offer面试题】 九度OJ1373：整数中1出现的次数（从1到n整数中1出现的次数）]]></title><link>https://blog.csdn.net/zhoubin1992/article/details/47361969</link><guid>https://blog.csdn.net/zhoubin1992/article/details/47361969</guid><author>zhoubin1992</author><pubDate>Sat, 08 Aug 2015 20:51:12 +0800</pubDate><description><![CDATA[题目链接地址：  
http://ac.jobdu.com/problem.php?pid=1373题目1373：整数中1出现的次数（从1到n整数中1出现的次数）时间限制：1 秒内存限制：32 兆特殊判题：否提交：1988解决：501 
题目描述： 
亲们！！我们的外国友人YZ这几天总是睡不好,初中奥数里有一个题目一直困扰着他,特此他向JOBDU发来求助信,希望亲们能帮帮他。问题是：求出1~13的整]]></description><category></category></item></channel></rss>