相信一步步走过来的Android从业者,每个人都会遇到OOM的情况。如何避免和防范OOM的出现,对于每一个程序员来说确实是一门必不可少的能力。今天我们就谈谈在Android平台下内存的管理之道,开始今天的主题之前,先再次回顾两个概念。内存泄漏:对象在内存heap堆中中分配的空间,当不再使用或没有引用...
分类:
移动开发 时间:
2014-08-06 01:38:20
阅读次数:
265
我今天在想这个vector,map为什么不能写入共享内存,原来是因为new的时候只是new了这个对象在共享内存上,而真正的堆上的内存并没有在共享内存里面的,如果要想vector可以共享就要重写分配器或者用boost的,看了我们那个结构体还是很复杂的,肯定不适用,看来只有改成数组,对于string为什...
分类:
其他好文 时间:
2014-08-06 01:34:30
阅读次数:
252
各类排序算法总结三.交换类排序[接上]2.快速排序 快速排序是通过比较关键码、交换记录,以某个记录为界(该记录称为支点),将待排序列分成两部分。其中,一部分所有记录的关键码大于等于支点记录的关键码,另一部分所有记录的关键码小于支点记录的关键码。我们将待排序列按关键码以支点记录分成两部分的过程,称为一次划分。对各部分不断划分,直到整个序列按关键码有序. 如果每次划分对一个元素定位后,该元素的左侧子序...
分类:
其他好文 时间:
2014-08-05 22:41:20
阅读次数:
388
堆数据结构实际上是一种数组对象,是以数组的形式存储的,但是它可以被视为一颗完全二叉树,因此又叫二叉堆。堆分为以下两种类型:
大顶堆:父结点的值不小于其子结点的值,堆顶元素最大
小顶堆:父结点的值不大于其子结点的值,堆顶元素最小
堆排序的时间复杂度跟合并排序一样,都是O(nlgn),但是合并排序不是原地排序(原地排序:在排序过程中,只有常数个元素是保存在数组以外的空间),合并排序的多有元素都被...
分类:
其他好文 时间:
2014-08-05 22:34:10
阅读次数:
232
在程序头部添加一行#pragma comment(linker, "/STACK:16777216")可有效开大堆栈实验效果如下:11330179 2014-08-05 18:28:17 Wrong Answer 4920 1687MS 7776K 1327 B C++ Jeremy_wu11272...
分类:
其他好文 时间:
2014-08-05 22:07:10
阅读次数:
206
题目描述Description 有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若于张纸牌,然后移动。 移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上;其他堆....
分类:
其他好文 时间:
2014-08-05 22:02:50
阅读次数:
198
IA-32处理器平台允许3种不同的访问系统内存的方法: (1)平坦内存模式 (2)分段内存模式 (3)实地址模式 平坦内存模式把全部系统内存表示为连续的地址空间。所有指令、数据和堆栈都包含在相同的地址空间中。通过称为线性地址(linear address)的特定地址访问每个内存位置。 分段内存模式把...
分类:
其他好文 时间:
2014-08-05 21:53:30
阅读次数:
298
CSS hack主要有三种方式:①IE条件注释;②选择符前缀;③样式属性前缀。由于IE浏览器在CSS解析上存在很多问题(可以百度,一堆的CSS bug),所以一般来说CSS hack都是针对IE浏览器来说的1、IE条件注释(微软官方推荐的hack方式)。针对不同的IE版本,引入对应的CSS文件。注意...
分类:
Web程序 时间:
2014-08-05 21:47:30
阅读次数:
233
#include?<stdio.h>
#include?<windows.h>
void?die_recursion()
{
static?unsigned?long?s=-1;
printf("递归%lu次\n",++s);
die_recursion();
}
/*
Return:
异常被忽略,控制流将在异常出现的点之后...