自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SUN

Working

  • 博客(32)
  • 资源 (5)
  • 收藏
  • 关注

原创 Android AsyncTask的源码分析

AsyncTask的源码分析,以及相关设计模式模板方法模式,策略模式,Half-Sync/Half-Async模式。

2016-04-08 10:20:28 680

原创 Android如何保证一个线程最多只能有一个Looper?

Thread-Specific Storage Pattern

2016-04-01 21:04:59 12397 5

原创 KMP字符串匹配算法

KMP字符串匹配算法

2016-03-30 00:24:34 686 1

原创 LRU Cache的实现

LRU Cache

2016-03-25 15:55:54 1063

原创 Java中的Map

本文将讨论Java中的HashMap、LinkedHashMap、HashTable、ConcurrentHashMap。

2016-03-24 23:03:59 541 1

原创 线程安全的单例模式

线程安全的单例模式

2016-03-23 01:46:43 569

原创 Web页面的请求历程

本文试图通过一个例子总结计算机网络相关知识,该例子来源于《计算机网络——自顶向下方法》一书,本文对其中细节加了补充。关键词:DHCP, DNS, ARP, TCP, HTTP

2016-03-22 00:25:44 3970 2

原创 Java多线程—Executor框架

本文简要介绍了Java多线程中的Executor框架,包括Runnable、Callable、Future、RunnableFuture、FutureTask、Executor、ExecutorService以及这些接口与类之间的关系。

2015-07-05 01:57:41 1320 1

原创 Activity内部Handler引起内存泄露的原因分析

Activity内部Handler引起内存泄露的原因分析以及解决方法。

2015-07-04 23:41:22 1006 1

原创 android.app.Fragment$InstantiationException的原因分析

每个Fragment必须要有一个无参构造方法,这样该Fragment在Activity恢复状态的时候才可以被实例化。强烈建议,Fragment的子类不要有其他含参构造方法,因为这些构造方法在Fragment重新实例化时不会被调用。取而代之的方式是,通过setArguments(Bundle)设置参数,然后通过getArguments获得参数。

2015-06-25 00:51:18 4513 1

原创 Rxjava分析—Subject

Subject在ReactiveX是作为observer和observerable的一个bridge或者proxy。因为它是一个观察者,所以它可以订阅一个或多个可观察对象,同时因为他是一个可观测对象,所以它可以传递和释放它观测到的数据对象,并且能释放新的对象。一共有四种为不同用途而设计的Subject,分别为AsyncSubject、BehaviorSubject、PublishSubject。

2015-04-02 00:13:55 10222 2

原创 RxJava概述

ReactiveX是利用可观察数据流实现异步编程的API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。RxJava是Reactive Extensions的Java VM实现,它是一个使用可观察序列编写异步和事件驱动程序的库。它扩展了观察者模式以支持数据和事件序列,并且加入操作符Operator。它将你的注意从低级别线程,线程同步,线程安全和并发数据对象这些复杂问题中转移。

2015-03-30 23:54:34 1038

原创 Activity内部Handler引起内存泄露的原因分析

Since this Handler is declared as an inner class, it may prevent the outer class from being garbage collected. If the Handler is using a Looper or MessageQueue for a thread other than the main thread, then there is no issue. If the Handler is using the Loo

2015-01-22 01:18:21 2646 1

原创 Android依赖注入的实现

通过Java注解代替常规的findViewById()初始化View,和setOnClickListener()设置监听器。

2015-01-12 00:39:59 1282 2

原创 Android处理软键盘的可见性

Android软件的显示与隐藏

2016-06-08 23:01:44 619

原创 Gradle构建Java Web Application

使用Gradle创建一个简单Java Web项目的步骤

2016-01-21 23:54:00 3733

原创 Android应用接入微信开放平台

本文讲述了Android应用如何接入微信开放平台,并详细说明了接入过程中遇到的应用签名问题以及解决办法。

2015-11-16 00:50:00 1589

原创 银行家算法

银行家算法一种避免死锁的算法,由Dijkstra发明。 本文写出了银行家算法的Java实现,并详细解释了算法过程。

2015-11-04 22:40:32 4239

原创 Java Concurrency — 原子变量类

基于锁的同步机制,在频繁地发生锁的竞争时,上下文切换和调度开销可能远大于工作开销。volatile变量更轻量级,但是不能用于构建原子化复合操作,例如i++。而原子变量类就解决了上下文切换和调度问题,并且基于现代处理器提供的原子化读-写-改指令,如比较并交换(compare-and-set),实现了原子化复合操作。

2015-10-25 14:05:47 714

原创 Rxjava分析—Subject

Subject在ReactiveX是作为observer和observerable的一个bridge或者proxy。因为它是一个观察者,所以它可以订阅一个或多个可观察对象,同时因为他是一个可观测对象,所以它可以传递和释放它观测到的数据对象,并且能释放新的对象。一共有四种为不同用途而设计的Subject,分别为AsyncSubject、BehaviorSubject、PublishSubject。

2015-10-24 19:00:41 1316

原创 Git学习总结

Git知识总结

2015-09-04 14:08:19 622

原创 Java反射机制总结

Jav使用某个类时,需要通过加载、连接、初始化3个步骤来对该类进行初始化。类加载指的是将类的class文件读入内存,并为之创建一个java.lang.Class对象。系统中的所有类实际上都是java.lang.Class的实例。Java反射机制就是通过类对应的Class对象在运行时获取类的信息,如类构造方法、方法、成员变量、注解、内部类、外部类、接口、超类Class对象、修饰符、包、类名。

2015-07-04 15:47:51 958

原创 Vim学习总结

Vim常用命令总结

2015-06-28 15:29:49 782

原创 RxJava概述

ReactiveX是利用可观察数据流实现异步编程的API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。RxJava是Reactive Extensions的Java VM实现,它是一个使用可观察序列编写异步和事件驱动程序的库。它扩展了观察者模式以支持数据和事件序列,并且加入操作符Operator。它将你的注意从低级别线程,线程同步,线程安全和并发数据对象这些复杂问题中转移。

2015-06-25 23:14:14 1906

原创 Linux执行可执行文件提示No such file or directory的解决方法

Linux操作系统执行可执行文件提示No such file or directory的原因可能是操作系统位数和可执行文件需要的lib库的位数不匹配,此时可以安装对应位数的lib库解决该问题。

2015-06-22 14:13:38 229600 16

原创 C语言数组与指针

一维数组与指针int a[10];int *pa;一维数组的数组名代表的就是该数组第一个元素的地址,所以复制语句pa=&a[0]等价于pa=a。对数组元素a[i]的引用等价于*(a+i)。在计算数组元素a[i]的值时,C语言实际上先将*(a+1)后再进行求值,所以用指针编写的程序比用数组下标编写的程序执行速度快。 数组名和指针之间有一个不同之处,指针是一个变量,pa=a和pa++都是合

2015-06-14 23:14:00 802

原创 Vim学习总结

Vim常用命令总结

2015-05-24 17:19:26 482

原创 android.app.Fragment$InstantiationException的原因分析

每个Fragment必须要有一个无参构造方法,这样该Fragment在Activity恢复状态的时候才可以被实例化。强烈建议,Fragment的子类不要有其他含参构造方法,因为这些构造方法在Fragment重新实例化时不会被调用。取而代之的方式是,通过setArguments(Bundle)设置参数,然后通过getArguments获得参数。

2015-04-24 21:47:36 1165 1

原创 Java多线程—Executor框架概述

本文简要介绍了Java多线程中的Executor框架,包括Runnable、Callable、Future、RunnableFuture、FutureTask、Executor、ExecutorService以及这些接口与类之间的关系。

2015-03-14 13:53:48 626

原创 设计模式—结构型模式

结构型模式涉及到如何组合类和对象以获得更大的结构。类结构型模式采用继承机制来组合接口或实现。对象结构型模式不是对接口和实现进行组合,而是描述了如何对一些对象进行组合,从而实现新功能的一些方法。因为可以在运行时刻改变对象组合关系,所以对象组合方式具有更大的灵活性,而这种机制用静态类组合是不可能实现的。

2015-02-05 00:55:53 437

原创 设计模式—行为模式

1. Command模式对象行为型模式意图将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化。效果:Command模式将调用操作的对象与知道如何实现该操作的对象耦合。2. Strategy模式对象行为型模式意图定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。3. Templ

2015-02-05 00:01:31 579

原创 Java反射机制总结

当程序主动使用某个类时,如果该类还未被加载到内存中,则系统会通过加载、连接、初始化3个步骤来对该类进行初始化。类加载指的是将类的class文件读入内存,并为之创建一个java.lang.Class对象。系统中的所有类实际上都是java.lang.Class的实例。在Java中获得Class对象通常有如下3种方式。1. 使用Class.forName(String clazzName)静

2015-01-11 21:43:32 516

设计模式之禅

如果说“四人帮”的《设计模式》是设计模式领域的“圣经”,那么之后出版的各种关于设计模式的书都可称之为“圣经”的“注释版”或“圣经的故事”。本书是得道者对“圣经”的“禅悟”,它既不像“圣经”那样因为惜字如金、字字珠玑而深奥、晦涩和难懂,又比“圣经”的“注释版”更深刻和全面、更通俗和生动、更接近开发者遇到的实践场景,更具指导性。本书兼收并蓄、博采众长,也许是设计模式领域里的下一个里程碑之作。 全书共分为四部分,第一部分从原理的角度阐述了面向对象程序设计的6大原则;第二部生动地讲解和剖析了23种常见的设计模式,并进行了扩展,通俗易懂,趣味性极强而又紧扣模式的核心;第三部分对各种相关联的设计模式进行了深入分析和比较,旨在阐明各种设计模式比较理想的应用场景和它们之间的区别;第四部分探讨了设计模式的混编,讲解了如何在实际开发中将各种设计模式混合起来使用,以发挥设计模式的最大效用。最后,本书还附有一份设计模式彩图,可以裁剪,便于参考。

2017-09-12

代码整洁之道.(美)马丁

软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。《代码整洁之道》提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼 佼者,这些实践在《代码整洁之道》中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。

2017-09-12

Effective C++中文

effective C++,C++圣经,C++程序员的床头书,必读

2013-08-25

《Windows 程序设计》

《Windows程序设计(第5版 珍藏版)》是一本经典的Windows编程圣经,曾经伴随着近50万Windows程序员步入编程殿堂,成长为IT时代的技术精英。 作为Windows开发人员的必备参考,涵盖基础知识和中高级主题,全面地介绍了Windows程序设计所涉及的细枝末节,旨在帮助读者从高屋见瓴的角度,建立完整的知识体系,为以后的职业生涯奠定良好的基础。全书共3部分23章。第1~12章着重介绍基础知识,第13~18章的主题为图形,第19~23章涉及更多高级主题。 《Windows程序设计(第5版 珍藏版)》适合任何层次的Windows程序员阅读和参考,是帮助他们梳理和建立Windows知识体系的理想读物。

2013-07-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除