漂浮法,顾名思义,就是一块块的往上飘。
以逆序来进行放置,即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
在使用struts之前,我们必须了解servlet的运行,因为任何一个J2EE框架都是支持servlet的。
而servlet的执行过程,简单的说如下:
1.服务器接收请求
2.经过一个过滤器链对请求进行处理
3.调用serlvet的doget或dopost方法
4.过滤器链对应答进行处理
6.返回用户
而过滤器和servlet,我们都可以在web.xml中进行配置。
那么,现在主...
分类:
其他好文 时间:
2014-05-01 18:01:37
阅读次数:
287
Upstart是一个基于事件的替代在引导过程中处理任务和服务的启动、停止、监督整个系统运行的/sbin/init守护进程的一个程序。
在Unix和Linux系统上的“初始化”或“系统初始化”过程中有进程ID(PID)为“1”。也就是说,它是启动在系统引导时(忽略的initrd/ initramfs)装载的第一道工序。根据官方说法,Upstart是一个替代传统的Unix的“System V”的“init”制度的“INIT”。Upstart提供与传统的“初始化”系统相同的功能,但超越了原有的许多方面。
在系...
分类:
其他好文 时间:
2014-05-01 17:22:23
阅读次数:
292
ART的初始化
下面我们从JNI_GetDefaultJavaVMInitArgs(),JNI_CreateJavaVM()和JNI_GetCreatedJavaVMs()三个函数入手来了解ART的初始化过程。这三个函数的代码位于jni_internal.cc中。
JNI_GetDefaultJavaVMInitArgs()函数在ART中没有作为,只是返回JNI_ERR。如下所示:
e...
分类:
移动开发 时间:
2014-05-01 17:10:15
阅读次数:
475
在学习网站的同学大概都想把自己的网站项目发布到网上,让其他人可以在外网直接点击观看。本文以简单的静态页面来给大家做个演示,把这个静态页面发布到网上。
这个过程大概需要2步:1、申请域名和服务器空间 2、通过ftp软件上传自己的项目到服务器。
首先第一步,因为仅是用来学习的,不用考虑空间的大小等的限制,我们可以申请一个免费的域名和一个空间。
推荐一个比较好的提供免费域名空间的网站:http...
分类:
Web程序 时间:
2014-04-30 22:33:38
阅读次数:
366
以下内容摘自《步步惊芯——软核处理器内部设计分析》一书
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