运行环境: 系统:CentOS release 6.3 (Final) JDK:1.7 操作: 命令行运行:~$ jmap -heap [pid号] 结果: 报错: Error attaching to process: sun.jvm.hotspot.debugger.DebuggerExcept ...
分类:
系统相关 时间:
2020-02-10 16:31:50
阅读次数:
355
Heap分为MaxHeap和MinHeap Heap均为完全二叉树 定义heap的结构 typedef struct{ int *Elements; //储存堆元素数据,假设储存数组 int Size; //堆当前元素个数 int MaxSize; //堆最大容量 }heap; 初始化heap的操作 ...
分类:
其他好文 时间:
2020-02-08 10:11:52
阅读次数:
94
自上一篇《每次阅读外文技术资料都头疼,终于知道原因了》已过去多月,最近又在做简单的实践,实践方式很朴素,就是对照阅读React官方资料和国内翻译的资料,逐句对比,发现了许多问题,特在此记录。 一、问题记录 1)with(配合、带)、for(用来)、by(通过)等介词在连接语句时的词义没有把握好。 1 ...
分类:
其他好文 时间:
2020-02-08 10:08:15
阅读次数:
303
$Treap = Tree + Heap$ 要了解Treap,就先要看看什么是二叉搜索树 Treap既有BST的性质,也有堆的性质,Treap的每个结点额外附加一个随机值(优先级),让他们按照关键码构成BST的同时也满足堆的性质(父节点优先级高于或低于子节点优先级),因为优先级是随机的,这样在绝大多 ...
分类:
其他好文 时间:
2020-02-08 10:07:14
阅读次数:
81
疑问: 在学习GC的时候发现,无论是 ,还是 算法,都要 ,这必然会导致对象的 发生变动,那么移动后,对象是怎么找到在heap中对象的新内存地址的? 难道移动对象的时候会将引用这个对象的所有变量的值更新? 垃圾收集算法:https://plumbr.io/handbook/garbage colle ...
分类:
其他好文 时间:
2020-02-07 18:30:32
阅读次数:
128
jvm区域总体分两类,heap区和非heap区。heap区又分: Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机 ...
分类:
其他好文 时间:
2020-02-06 22:58:40
阅读次数:
69
这里先说两个概念:1、堆(heap)2、栈(stack)堆 是堆内存的简称。栈 是栈内存的简称。说到堆栈,我们讲的就是内存的使用和分配了,没有寄存器的事,也没有硬盘的事。各种语言在处理堆栈的原理上都大同小异。堆是动态分配内存,内存大小不一,也不会自动释放。栈是自动分配相对固定大小的内存空间,并由系统 ...
分类:
Web程序 时间:
2020-02-06 19:51:16
阅读次数:
95
众所周知, BST 的操作复杂度是 $O(\log n)$ ,但 BST 可能会退化成一条链,于是我们可以使用平衡树。 平衡树有很多种,但我还只会三种(我太菜了):Treap,Splay,fhq Treap Treap Treap 记录了一个优先级,并在满足构成 BST 的同时,会按照优先级的大小来 ...
分类:
其他好文 时间:
2020-02-03 17:23:30
阅读次数:
88
堆的详细创建过程:参考:https://www.jianshu.com/p/21bef3fc3030 明白堆的详细创建过程的前提是要理解Shift Down。 但是这明显不符合最大堆的定义,所以我们需要让该完全二叉树转换成最大堆!怎么转换成一个最大堆呢? 最大堆有一个特点就是其各个子树都是一个最大堆 ...
分类:
其他好文 时间:
2020-02-02 19:38:51
阅读次数:
61
OOM 异常 (OutOfMemoryError) OOM 异常 (OutOfMemoryError) Java 堆溢出 Java 虚拟机栈和本地方法栈溢出 方法区和运行时常量池溢出 直接内存溢出 Java 堆溢出 出现标志:java.lang.OutOfMemoryError: Java heap ...
分类:
编程语言 时间:
2020-02-01 19:47:03
阅读次数:
109