Java内存分配与管理是Java的核心技术之一,今天我们深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域:◆寄存器:我们在程序中无法控制◆栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中◆堆:存放用new产生的数据◆静态域...
分类:
编程语言 时间:
2014-05-10 08:13:00
阅读次数:
387
1.priority_queue priority_queue,greater >q;
//小根堆,即对头元素最小; priority_queue//默认情况,大根堆,即队头元素最大。(后续更新)2.deque【双端队列】
接口类似vector(单向插入删除) c.pop_back() 弹出最后一个...
分类:
编程语言 时间:
2014-05-10 05:30:09
阅读次数:
348
栈(操作系统):由编译器自动分配释放
,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放堆(操作系统):
一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。堆则是存放在二...
分类:
其他好文 时间:
2014-05-10 05:27:11
阅读次数:
294
一、堆与堆排序的产生及定义
在简单选择排序中,每次从n个元素中比较n-1次选取最小的元素,这很好理解,但是前面比较过的数据在之后还要重新比较,这将花费大量的运算时间。堆排序算法就很好的解决了这个问题,堆排序在每次选择到最小记录的同时会根据比较结果对其他数据进行调整,堆排序的时间复杂度为O(Nlog....
分类:
其他好文 时间:
2014-05-10 00:25:14
阅读次数:
299
有时候,我们跟踪某个函数的时候,不知道这个函数是哪个函数调用的,当然对代码比较熟悉的话,直接看代码就可以了,但如果不熟悉,则可以使用2个方法:1、使用traceview来查看,但使用过程中,有些机器无法列出当前运行的进程,无法跟踪2、在该函数添加打印堆栈的log,可以直接打印出调用关系。Log.e(...
分类:
移动开发 时间:
2014-05-10 00:18:56
阅读次数:
532
查看DB2 该数据库参数命令:db2 get db cfg for
databasename修改 "APP_CTL_HEAP_SZ" 值,命令:db2 update db cfg for databasename using
APP_CTL_HEAP_SZ 1000关于db2中sql文过长,过复杂的...
分类:
数据库 时间:
2014-05-09 15:58:41
阅读次数:
343
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永...
分类:
编程语言 时间:
2014-05-09 13:51:25
阅读次数:
536
帮客户买了一个vps, 结果里面装了一堆没用的软件,所以全部删掉CentOS 桌面安装大多都是
以软件包的 形式安装所以 最好是设置好 国内的yum 源,然后执行:>yum grouplist列出所有的 “软件包”Installed Groups:
X窗口系统 Yum Utilities 万维网服务...
分类:
其他好文 时间:
2014-05-09 12:51:17
阅读次数:
249
当4GB的内存被使用的一干二净,我们该考虑这个垃圾的程序还有没有价值?当堆栈存放不下一个数组,我们是否该考虑我们是否放任我们的代码范围。当用户空间无法动态创建内存块,我们该考虑是什么占用了整个系统,而不是去考虑如何释放已经使用的空间。在程序中无法创建内存块,而..
分类:
其他好文 时间:
2014-05-09 06:54:37
阅读次数:
287