什么是堆,什么是栈,什么是数据段,什么是代码段...这些都是历史遗留问题,如今编程真的没有必要在意这些了!不要被/proc/xx/{maps,smaps}里面的内容所迷惑和萦绕,自己管理好自己的内存分配就好,如果程序不是自己写的,那么就找写它的人。本文将从一个链接动态库的可执行文件如何载入进程地址空间开始,谈一下我对进程地址空间布局的看法。我没有采用精确的方式描述ELF或PE文件如何载入的,而仅仅...
分类:
其他好文 时间:
2014-05-18 18:23:26
阅读次数:
378
java虚拟机规范规定的java虚拟机内存其实就是java虚拟机运行时数据区,其架构如下:
' v:shapes="_x0000_i1029">
其中方法区和堆是由所有线程共享的数据区。
Java虚拟机栈,本地方法栈和程序计数器是线程隔离的数据区。
Java官方定义:http://www.98ki.com/servlet/HomeServlet?method=get&id=53...
分类:
编程语言 时间:
2014-05-18 18:20:57
阅读次数:
420
今天运行了一个比较大的程序,处理的数据达到126MB数据,将数据导入数据库中,用eclipse 来访问时候,总是出现java.lang.OutOfMemoryError:Java heap space的错误,上网查了一些资料,原来是堆栈溢出的状况,eclipse默认的情况下,堆栈的空间应该是64MB, 所以有时候处理的数据的时候,容易出现堆栈溢出的情况,下面总结了几种方法,解决这个问题。
...
分类:
编程语言 时间:
2014-05-18 15:53:30
阅读次数:
274
个人认为重点写出max_heapify和parent_heapify两个函数即可,这个版本内存管理的功能显得特别简单:
#include
#include
using namespace std;
class Heap {
public:
int size, capacity;
int *ele;
void max_heapify(int i,int heap[],int len...
分类:
其他好文 时间:
2014-05-18 15:15:29
阅读次数:
220
能使用STL的sort系列算法的前提是容器的迭代器必须为随机迭代器。所以,vector和deque天然适用。STL的sort算法采用了一些策略,在不同情况下采用不同的排序算法,以达到各种算法优势互补的效果。基本的原则是:数据量大时采用快速排序,数据量小时采用插入排序(这是对快排常用的一种优化策略),递归层次过深改用堆排序。
首先是插入排序。它的平均和最坏时间复杂度都为O(N²),量级小于...
分类:
其他好文 时间:
2014-05-18 14:40:31
阅读次数:
241
在51单片机中,不能直接修改PC,但有一种方法是可以改变PC的。函数调用里会把PC值压入堆栈中,调用结束后,会把PC值弹出到PC中。...
分类:
其他好文 时间:
2014-05-18 09:19:59
阅读次数:
221
如何让自己的网站能进入搜索引擎第一页,下面分享下,网站优化的要点:
第一:网站的名字很重要,实事求是的写下自己网站的名字,当然,网站的名字要考虑好,最好包含网站的主要内容。
第二:页面头不优化,页面头部指的是代码中部分,具体一点就是中的“Description(描述)”和“Keywords(关键字)”两部分,这部分也是SEO们比较花心思的地方,理论一大堆!
总结起来就是:1、...
分类:
Web程序 时间:
2014-05-18 07:57:56
阅读次数:
373
??
主流算法:
1.搜索 //回溯
2.DP(动态规划)
3.贪心
4.图论 //Dijkstra、最小生成树、网络流
5.数论 //解模线性方程
6.计算几何 //凸壳、同等安置矩形的并的面积与周长
7.组合数学 //Polya
定理
8.模拟
9.数据结构 //并查集、堆
10.博弈论
...
分类:
其他好文 时间:
2014-05-18 07:25:00
阅读次数:
316
#include
#define MAX_TASKS 2 //任务槽个数.必须和实际任务数一至
#define MAX_TASK_DEP 12 //最大栈深.最低不得少于2 个,保守值为12.
unsigned char idata task_stack[MAX_TASKS][MAX_TASK_DEP];//任务堆栈.
unsigned char idata task_sp[MA...
分类:
其他好文 时间:
2014-05-18 05:12:43
阅读次数:
339