数据结构之堆(Heap):插入、取值、排序。 堆是一种数据结构,分为最小堆和最大堆,可以用二叉树来表示。 在二叉树的任意的一个三角结构中(一个父节点,两个子节点),需要满足以下两个条件: 1、父节点要是最小的,就是最小堆(或最大的,就是最大堆),两个子节点之间没有要求 2、数据插入的顺序是一层一层的 ...
分类:
编程语言 时间:
2017-09-11 18:02:25
阅读次数:
204
由于heap中对象的存活时间差异很大,如果每一次都是无差别的进行gc,效率会很差。将heap按照对象大小、存活时间划分出不同的区域,针对不同的区域使用不同的gc算法可以提高效率。 年轻代的对象存活率低可以采用复制算法,老年代的对象或是存活率高的对象,或是大对象,这些对象使用复制算法进行gc成本太高, ...
分类:
其他好文 时间:
2017-09-10 11:27:26
阅读次数:
205
和大多数猴子一样,我原来也抵触对原理的学习, 后来发现掌握了原理才有了那种了然于胸,运筹帷幄的感觉,也就是顿悟。 这里主要介绍Java对象与运行时内存的知识。 java运行时内存 Program Counter Registe(程序计数器): 记录当前线程执行字节码的位置,相当于行号指示器,为线程私 ...
分类:
其他好文 时间:
2017-09-10 00:12:43
阅读次数:
183
栈(stack) 栈stack为自动分配的内存空间,它由系统自动释放; 堆(heap) 堆heap是动态分配的内存,大小不定也不会自动释放; JavaScript的数据类型分为两种,基本类型和引用类型 1.基本类型 Undefined、Null、Boolean、Number和 String 2.引用 ...
分类:
编程语言 时间:
2017-09-09 20:56:35
阅读次数:
159
转自:http://www.cnblogs.com/redcreen/archive/2011/05/04/2036387.html java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分 ...
分类:
其他好文 时间:
2017-09-09 18:57:43
阅读次数:
167
转自:http://blog.csdn.net/lifuxiangcaohui/article/details/24936839 Java中堆和堆栈的区别 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆 ...
分类:
编程语言 时间:
2017-09-09 18:11:51
阅读次数:
213
今天学了大根堆,第一次从头到尾个人手打,虽说有些STL能代替堆但效率很低,算了算300000的数据甚至要跑500ms。。。。 也算记录一下吧。 自己的:83ms(300000) 老师的:71ms(300000) 每天刷题身体棒棒! ...
分类:
其他好文 时间:
2017-09-09 00:03:55
阅读次数:
243
Text Segment Text Segment,通常也被称为代码段。 为了防止 heap 或是 stack 的溢出,text 段常被安排在 heap 或是 stack 之后。 Text 段通常是sharable 的, 所以对于使用频次比较高的程序,在内存中一般只有一份拷贝。另外,Text 段也常... ...
分类:
其他好文 时间:
2017-09-08 14:57:29
阅读次数:
203
Tomcat内存溢出的原因 在生产环境中tomcat内存设置不好很容易出现内存溢出。造成内存溢出是不一样的,当然处理方式也不一样。 这里根据平时遇到的情况和相关资料进行一个总结。常见的一般会有下面三种情况: 1.OutOfMemoryError: Java heap space 2.OutOfMem ...
分类:
其他好文 时间:
2017-09-08 14:40:53
阅读次数:
125
string最为显著的一个特点就是它具有恒定不变性:我们一旦创建了一个string,在managed heap 上为他分配了一块连续的内存空间,我们将不能以任何方式对这个string进行修改使之变长、变短、改变格式。所有对这个string进行各项操作(比如调用ToUpper获得大写格式的string ...