在上一篇分析nginx内存池的基础上,回过头来看看nginx中一些常见的数据结构,如字符串、数组、队列、链表、hash表等。...
分类:
其他好文 时间:
2015-05-21 12:43:40
阅读次数:
149
Map如我们所知,存储的是键值对,它的基本单位是实现了Map.Entry的Node,Node 的属性如下:
static class Node implements Map.Entry {
final int hash;
final K key;
V value;
Node next;
}
看定义就能知道它的作用了,能够看到它存储...
分类:
编程语言 时间:
2015-05-13 00:57:20
阅读次数:
256
首先介绍Callable这个接口,它仅包含一个方法call,它是类似于Runnable接口,是Future并发设计模式下实际的任务执行单元,它能返回一个对象。我们可以实现它的子类并使用Future对象来提交它。现在我们再来看看Futrue,futrue提供了get方法来返回计算结果,cancel来中断任务。Future还会进一步被封装成FutureTask等任务类,这些任务会被提交给Executo...
分类:
编程语言 时间:
2015-05-11 01:26:37
阅读次数:
185
dojo/aspect模块是dojo框架中对于AOP的实现。关于AOP的详细解释请读者另行查看其它资料,这里简单复习一下AOP中的基本概念:切面(Aspect):其实就是共有功能的实现。如日志切面、权限切面、事务切面等。通知(Advice):是切面的具体实现。以目标方法为参照点,根据放置的地方不.....
分类:
Web程序 时间:
2015-05-10 18:47:40
阅读次数:
183
在JAVA API的java.util.concurrent.atomic包下提供了一系列以基本类型包装类为基础的并发情况下不需要同步的类(借助硬件相关指令实现)。
首先看一个例子AutomicInteger:
public class AtomicInteger extends Number implements java.io.Serializable {
private...
分类:
编程语言 时间:
2015-05-10 06:24:27
阅读次数:
155
原文网址:http://www.cnblogs.com/skywang12345/p/3311252.html概要这一章,我们对HashSet进行学习。我们先对HashSet有个整体认识,然后再学习它的源码,最后再通过实例来学会使用HashSet。内容包括:第1部分 HashSet介绍第2部分 Ha...
分类:
编程语言 时间:
2015-05-08 12:31:45
阅读次数:
171
其实我想看的是DrawerLayout, 但发现DrawerLayout里面是使用了ViewDragHelper去实现.
谷歌比较早就放出这个类了,但ViewDragHelper是开发中很少用到一个类.顾名思义这是一个和拖曳触摸有关的类.
本着追根溯源的想法, 加上ViewDragHelper的源码也不算多,就决定将ViewDragHelper的源码看一遍.对实现原理了解下.
代...
分类:
移动开发 时间:
2015-05-06 09:18:20
阅读次数:
226
nginx自身实现了内存池,所有内存分配都是基于内存池来操作。基本思想是预申请一段内存空间,低于指定大小的内存(小段内存)直接从内存池中申请,超过指定大小的内存(大段内存)直接调用malloc申请。相关代码在os/unix/ngx_alloc.{c,h}和core/ngx_palloc.{c,h}。...
分类:
其他好文 时间:
2015-05-05 19:46:47
阅读次数:
232