1.堆内存溢出 堆内存中主要存放对象、数组等,只要不断地创建这些对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对象,当这些对象所占据空间超过最大堆容量时,就会产生OutOfMemeorgError的异常,堆内存溢出异常示例如下: public class ArrayDe ...
分类:
其他好文 时间:
2020-03-09 18:19:45
阅读次数:
70
1、堆排序 是指利用 二叉堆 这种数据结构所设计的一种排序算法。堆是一个近似 完全二叉树 的结构,并同时满足 堆积的性质 :即子节点的键值或索引总是小于(或者大于)它的父节点。 完全二叉树的重要性质: 二叉堆分以下两个类型: 1.最大堆:最大堆任何一个父节点的值,都大于等于它左右孩子节点的值。[10 ...
分类:
编程语言 时间:
2020-03-03 22:25:59
阅读次数:
79
内存参数 参数 含义 默认值 示例 说明 -Xms 初始堆大小 物理内存的1/64(<1GB) -Xms1g 默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制. -Xmx 最大堆大小 物理内存的1/4(<1GB) -Xmx1g 默认( ...
分类:
其他好文 时间:
2020-03-03 11:24:12
阅读次数:
91
目的 熟悉新近学习的编程语言各种语法糖,最大化的精简代码。 复习基本数据结构和基本算法,提高代码效率。 训练持久力。 说明 所有的算法题目来源于 "LeetCode" ,版权归官方所有。 "知乎:大家是如何刷LeetCode的?" "Github:详尽的LeetCode题解" "Github:动画演 ...
分类:
编程语言 时间:
2020-02-26 21:02:58
阅读次数:
86
最大堆外内存的配置 -XX:MaxDirectMemorySize=15g 分配堆外内存 java.nio.ByteBuffer#allocateDirect DirectByteBuffer 类是包权限的,使用 unsafe 分配和回收内存 class DirectByteBuffer exten ...
分类:
编程语言 时间:
2020-02-21 17:52:58
阅读次数:
71
3.堆排序 堆是一种完全二叉树(是除了最后一层,其它每一层都被完全填充,保持所有节点都向左对齐),首先需要知道概念:最大堆问题,最大堆就是根节点比子节点值都大,并且所有根节点都满足,那么称它为最大堆。反之最小堆。 当已有最大堆,如下图,首先将7提出,然后将堆中最后一个元素放到顶点上,此时这个堆不满足 ...
分类:
编程语言 时间:
2020-02-21 13:05:38
阅读次数:
111
- -Xms 初始堆内存大小,默认物理内存64/1 -Xms = -XX:InitialHeapSize -Xmx 最大堆内存,默认物理内存4/1 -Xmx = -XX:MaxHeapSize -Xss 栈内存大小 设置单个线程栈大小,一般默认512~1024kb。 单个线程栈大小跟操作系统和JDK ...
分类:
其他好文 时间:
2020-02-19 23:48:54
阅读次数:
75
typedef struct HeapStruct *MaxHeap; struct HeapStruct{ int *Elements;/* 存储堆元素的数组 */ int Size;/* 堆的当前元素个数 */ int Capacity;/* 堆的最大容量 */ }; MaxHeap Creat ...
分类:
其他好文 时间:
2020-02-18 17:56:58
阅读次数:
83
#include <vector> #include <iostream> using namespace std; //最大堆 void adjust(int i, vector<int>& array,int length) { while (i >= 0 && i < length / 2) ...
分类:
编程语言 时间:
2020-02-13 17:36:19
阅读次数:
80
前言 二叉堆分为最大堆与最小堆,一组不规则的完全二叉树或者近完全二叉树,可以通过调整称为二叉堆。 序列化: 形成二叉堆通过下沉。 插入元素通过上浮。 排序: 二叉堆的最大堆为父节点一定大于或者等于子节点,堆顶一定最大。 如果最小堆的堆顶与最后一个元素交互,那么最后一个元素一定最大。 如果最后一个元素 ...
分类:
编程语言 时间:
2020-02-08 11:22:27
阅读次数:
77