前言 Java启动后作为一个进程运行在操作系统中,该进程要分配的内存有以下几个: 1、Java堆: 存储java内存区域,堆大小是在jvm启动时就像操作系统申请完成,其中 Xmx和 Xms 分别表示了最大大小和初始大小。堆大小分配完成后就已经固定并属于java的gc管理。 2、线程: jvm运行的实 ...
分类:
编程语言 时间:
2018-06-24 15:09:25
阅读次数:
175
一、下载从官网下载:https://www.elastic.co/downloads/logstash;二、配置1、修改config下的jvm.options:1??根据需要修改最大堆和最小堆2??我这里使用的jdk1.8,gc使用G1,所以需要重新配置;-XX:+UnlockDiagnosticVMOptions-XX:+UseCompressedOops-XX:+UseG1GC-XX:MaxG
分类:
其他好文 时间:
2018-06-13 18:07:43
阅读次数:
299
通电==>产生一定容量的存储空间==>存储各种数据==>断电==>内存全部消失 * 内存的空间是临时的, 而硬盘的空间是持久的 * 一块内存包含2个数据 * 内部存储的数据(一般数据/地址数据) * 内存地址值数据 * 内存分类 * 栈: 全局变量, 局部变量 (空间较小) * 堆: 对象 (空间较... ...
分类:
其他好文 时间:
2018-06-09 00:51:54
阅读次数:
191
1. multiset: multiset是允许元素重复的集合,并且可以实现定点删除,我们往往用它来实现需要定点删除的堆。 定点删除操作:通过find()或lowe_bound()或upper_bound()来确定迭代器的位置,然后调用erase()来删除。 multiset默认的是最小堆,当使用m ...
分类:
编程语言 时间:
2018-06-03 10:43:29
阅读次数:
171
int a[Max],n; void build(int t) { int Min=a[t]; int l=2*t,k=t; int r=2*t+1; if(r<=n&&a[r]<Min) { Min=a[r]; k=r; } if(l<=n&&a[l]<Min) { Min=a[l]... ...
分类:
其他好文 时间:
2018-06-01 17:39:16
阅读次数:
149
参考:https://blog.csdn.net/guoweimelon/article/details/50904346 一、堆树的定义 堆树的定义如下: (1)堆树是一颗完全二叉树; (2)堆树中某个节点的值总是不大于或不小于其孩子节点的值; (3)堆树中每个节点的子树都是堆树。 当父节点的键值 ...
分类:
其他好文 时间:
2018-05-08 22:13:28
阅读次数:
161
最小堆 最小堆是一种完全二叉树,特点是根节点比两个子节点都小(或者根节点比子节点都大) 过程 先找10000个数构建最小堆 依次遍历10亿个数,如果比最小堆的最小值大,则替换这个最小值,并重新构建最小堆 最后输入10000个值 时间复杂度 构建最小堆的复杂度为 logn,求出最大m个数会构建m次最小 ...
分类:
其他好文 时间:
2018-05-01 12:40:12
阅读次数:
184
DJ算法就是求单源最短路的算法,但是时间复杂度不太理想,所以在此献上用最小堆来优化的算法。 如果不懂优先队列可以先去看STL分类关于优先队列的介绍; #include<stdio.h> #include<algorithm> #include<string.h> #include<queue> #d ...
分类:
编程语言 时间:
2018-04-30 14:32:56
阅读次数:
188
维护前i天的最优解,那么在后面可能会对前面几天的买卖情况进行调整 如果前面买入,买入的这个在后面一定不会卖出 如果前面卖出,卖出的这个可能会在后面变成买入,因为买这个,卖后面的会获得更多的收益 用一个小根堆,存储前面所有的卖出的股票的价格 如果后面想卖出,扔到堆里 如果后面想买入,与堆顶元素比较,如 ...
分类:
其他好文 时间:
2018-04-27 23:03:35
阅读次数:
233
一、题解方法 建立一个最小堆和一个最大堆,不断更新当前中位数,建立一个数组存入读入奇数个数时的中位数。 用stl中的优先队列存放最大堆、最小堆。 二、题解代码 ...
分类:
其他好文 时间:
2018-04-11 21:45:53
阅读次数:
146