漂浮法,顾名思义,就是一块块的往上飘。
以逆序来进行放置,即n to 1。逆序的好处在于放置一个矩形后,俯视看到的就是最终俯视该矩形应该看到的。因为挡着它的矩形在之前已经放置好了,所以可直接统计,为递归创造了条件。每放一个矩形,可以想象成将其扔入一密度很大的海水底部,海分成了n层,然后矩形开始向上浮。在上浮过程中若碰撞到其他的矩形则断裂成几个小矩形,继续上浮,直到浮出水面。于是想到用个递归来模拟...
归并排序
在提高排序算法性能的方法中,有一类叫做分而治之。我们先研究其中第一种叫做归并排序。归并排序使用递归的方法,不停地把列表一分为二。如果列表是空或只有一个元素,那么就是排好序的(递归基点),如果列表有超过1个的元素,那么切分列表并对两个子列表递归使用归并排序。一旦这两个列表排序完成,称为“归并”的基本操作开始执行。归并是把两个有序列表合并成一个新的有序列表的过程。图10是我们熟悉的列表...
分类:
编程语言 时间:
2014-05-01 22:18:22
阅读次数:
391
Redis的内存存储结构是个大的字典存储,也就是我们通常说的哈希表。Redis小到可以存储几万记录的CACHE,大到可以存储几千万甚至上亿的记录(看内存而定),这充分说明Redis作为缓冲的强大。Redis的核心数据结构就是字典(dict),dict在数据量不断增大的过程中,会遇到HASH(key)碰撞的问题,如果DICT不够大,碰撞的概率增大,这样单个hash 桶存储的元素会越来愈多,查询效率就...
分类:
其他好文 时间:
2014-05-01 21:56:59
阅读次数:
398
前言
前面介绍的用例图、类图、包图和对象图都是对系统的静态的描述。本篇将介绍动态描述的交互图(顺序图和协作图),所以把顺序图和协作图的总结放一块儿更容易理解。
顺序图
1.概念
描述按时间先后顺序对象之间交互动作过程
2.构成
参与者、对象、消息(信号或操作调用)、生命线
3.消息的分类
简单消...
分类:
其他好文 时间:
2014-05-01 18:28:36
阅读次数:
368
Upstart是一个基于事件的替代在引导过程中处理任务和服务的启动、停止、监督整个系统运行的/sbin/init守护进程的一个程序。
在Unix和Linux系统上的“初始化”或“系统初始化”过程中有进程ID(PID)为“1”。也就是说,它是启动在系统引导时(忽略的initrd/ initramfs)装载的第一道工序。根据官方说法,Upstart是一个替代传统的Unix的“System V”的“init”制度的“INIT”。Upstart提供与传统的“初始化”系统相同的功能,但超越了原有的许多方面。
在系...
分类:
其他好文 时间:
2014-05-01 17:22:23
阅读次数:
292
假设有个名为Dog的类
对于静态字段:
1. 当首次创建类型为Dog的对象时,或者Dog类的静态字段/静态方法首次被访问时,Java解释器会查找类路径,以定位Dog.class文件。
2. 载入Dog.class,此时初始化所有静态字段,如果没有对静态字段进行显示初始化,则默认将所有基本类型字段都设置成标准初值,而引用字段被设置成null。
对于非静态字段:
1. 当创建类型为D...
分类:
编程语言 时间:
2014-05-01 17:14:54
阅读次数:
360
ART的初始化
下面我们从JNI_GetDefaultJavaVMInitArgs(),JNI_CreateJavaVM()和JNI_GetCreatedJavaVMs()三个函数入手来了解ART的初始化过程。这三个函数的代码位于jni_internal.cc中。
JNI_GetDefaultJavaVMInitArgs()函数在ART中没有作为,只是返回JNI_ERR。如下所示:
e...
分类:
移动开发 时间:
2014-05-01 17:10:15
阅读次数:
475
各位朋友,大家好,欢迎大家关注我的博客,我是秦元培,我的博客地址是blog.csdn.net/qinyuanpei。在上一篇文章中,我们以经典的打砖块游戏为例,讲解了一个Unity3D游戏的完整实现过程。今天呢,我们来做一个在游戏中十分重要的组成元素:血条。血条是什么呢?血条是生命值的一种体现,就像《仙剑奇侠传三》电视剧中,当景天说他想让那些被邪剑仙害死的人活过来的时候,天帝说需要等量的生命值来换...
分类:
其他好文 时间:
2014-04-30 22:18:38
阅读次数:
408
以下内容摘自《步步惊芯——软核处理器内部设计分析》一书
EXCEPTION模块的作用
为了便于说明,在进行具体指令分析之前,给出在异常处理类指令执行过程中涉及到的主要模块连接关系,如图7.1所示,图中的大部分模块在前几章分析指令的时候都有所涉及。但在本章会使用不同的输入输出接口。该图仍然采用模块左边是输入接口,右边是输出接口的绘制方式,这样做的好处是一目了然知道哪些...
分类:
其他好文 时间:
2014-04-30 22:14:40
阅读次数:
441
PwnPad是Pwnie Express为了让用户在移动过程中也能更方便地检测网络漏洞,而推出的一款基于Nexus 7的平板套装。这款产品的平板部分使用了 Android 4.2 和 Ubuntu 12.04 双系统,预装有各类检测工具(如 Kismet)。通过 USB 相连的收发器则支持蓝牙、以太网络、Wi-Fi 和 OTG,可以增强整个套装的检测能力。
本文档翻译自Pwnie Express官网的PwnPad用户手册:《PwnieExpressUserManual-PwnPad.pdf》。...
分类:
其他好文 时间:
2014-04-30 22:13:40
阅读次数:
501