1、什么是堆? 堆(heap)是一种内存管理方式。内存管理对操作系统来说是一件非常复杂的事情,因为首先内存容量很大, 其次就是内存需求在时间和大小块上没有规律(操作系统上运行着几十甚至几百个进程,这些进程可能随时 都会申请或者是释放内存,并且申请和释放的内存块大小是随意的)。 堆这种内存管理方式的特 ...
分类:
其他好文 时间:
2019-08-14 17:06:05
阅读次数:
54
题目描述: Ice Skating time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Bajtek is learning to ...
分类:
其他好文 时间:
2019-08-11 15:27:28
阅读次数:
67
整个内存中分为四大区: CODE:代码区,存放代码的; DATA:数据区,存放常量、字符串、用static申明的变量; 特点:不会因为程序的退出,数据而消失。 STACK:栈,任何一个程序要运行,都将会推入栈,待运行完毕后重新释放; HEAP:heap区的分类由程序员自己设定,注意容量。 ...
分类:
编程语言 时间:
2019-08-10 14:35:10
阅读次数:
104
发现网上有两个版本的JVM内存划分,一个是按照《深入理解JVM虚拟机》上的版本,包含程序计数器等,按照是否线程共享划分。 另一个我觉得更好记一些,也更适合我自己,在这里记录一下。 首先上思维导图: 一个个来说道吧。 堆内存 heap 堆内存主要被划分为新生代和老年代(差不多的意思) 基本上所有对象实 ...
分类:
其他好文 时间:
2019-08-06 20:00:38
阅读次数:
88
class MinHeap constructor(maxSize_: Int) { var size = 0 var maxSize = maxSize_ var heapArray: Array? = null companion object { const val FRONT = 1 ... ...
分类:
其他好文 时间:
2019-08-04 01:09:27
阅读次数:
76
题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。 解法 ...
分类:
其他好文 时间:
2019-08-02 20:04:38
阅读次数:
80
(1)堆内存(heap) 所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。 操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序,另外,对于大 ...
分类:
其他好文 时间:
2019-08-02 16:55:31
阅读次数:
115
一、default和delete关键字 (一)编译器提供的“缺省函数” 1.类的成员函数:构造/析构函数、复制构造/复制赋值函数、移动构造/移动赋值函数。 2. 类的全局默认操作函数:operator new/delete、operator,、operator*、operator->、operato ...
分类:
其他好文 时间:
2019-08-02 00:14:40
阅读次数:
121
1 堆内和堆外内存规划 Spark执行器(Executor)的内存管理建立在 JVM 的内存管理之上,Spark 对 JVM 的空间(OnHeap+Off-heap)进行了更为详细的分配,以充分利用内存。同时,Spark 引入了Off-heap 内存模式,使之可以直接在工作节点的系统内存中开辟空间, ...
分类:
其他好文 时间:
2019-07-24 21:09:43
阅读次数:
335
把内容过程中比较重要的一些内容片段做个备份,如下的资料是关于Java排序算法 - 堆排序的内容。 import java.util.Arrays; public class HeapSort { int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62, ...
分类:
编程语言 时间:
2019-07-23 13:42:02
阅读次数:
97