堆(heap)是一个巨大的对象池。在这个对象池中管理着数量巨大的对象实例。而池中对象的引用层次,有的是很深的。一个被频繁调用的接口,每秒生成对象的速度,也是非常可观的。对象之间的关系,形成了一张巨大的网。虽然 Java 一直在营造一种无限内存的氛围,但对象不能只增不减,所以需要垃圾回收。 那 JVM ...
分类:
其他好文 时间:
2020-07-23 23:27:13
阅读次数:
135
二叉搜索树 性质:一个节点x左子树所有点的关键字都比x的关键字小,右子树所有点的关键字都比x的关键字大 treap “树堆” “Tree+Heap” 性质:每个点随机分配一个权值,使treap同时满足堆性质和二叉搜索树性质 复杂度:期望O(logn) 设每个节点的关键字是key,随机权值是rand ...
分类:
其他好文 时间:
2020-07-21 23:10:24
阅读次数:
67
简介 在之前的文章中,我们介绍了使用JOL这一神器来解析java类或者java实例在内存中占用的空间地址。 今天,我们会更进一步,剖析一下在之前文章中没有讲解到的更深层次的细节。一起来看看吧。 对象和其隐藏的秘密 java.lang.Object大家应该都很熟悉了,Object是java中一切对象的 ...
分类:
编程语言 时间:
2020-07-20 10:41:01
阅读次数:
62
启发式合并 概念 启发式算法是基于人类的经验和直观感觉,对一些算法的优化。 作用 可以启发式合并更加高级的数据结构,如 \(heap,~set,~splays\) 等 复杂度计算 每次把个数少的合并到个数多的?复杂度 \(O(min(m1,m2))\) 可是我们注意到,每次合并后个数为合并前少的部分 ...
分类:
其他好文 时间:
2020-07-19 18:00:25
阅读次数:
69
1.官网下载jar包: https://www.apache.org/dyn/closer.lua/flink/flink-1.10.1/flink-1.10.1-bin-scala_2.11.tgz 2.上传jar包并且解压: 3.进入/flink-1.10.1/conf/flink-conf.y ...
分类:
系统相关 时间:
2020-07-16 00:06:51
阅读次数:
96
1、概述 在Java中,内存分为两种,一种是栈内存,另一种就是堆内存。 2、堆内存 heap 1.什么是堆内存? 堆内存是是Java内存中的一种,它的作用是用于存储Java中的对象和数组,当我们new一个对象或者创建一个数组的时候,就会在堆内存中开辟一段空间给它,用于存放。 2.堆内存的特点是什么? ...
分类:
编程语言 时间:
2020-07-15 22:45:26
阅读次数:
63
https://www.eweek.com/security/mark-russinovich-on-the-future-of-security Windows IT people everywhere owe thanks to Dr. Mark Russinovich, now a techn ...
分类:
其他好文 时间:
2020-07-13 16:52:05
阅读次数:
92
一、问题原因 用JMeter压测,有时候当模拟并发请求较大或者脚本运行时间较长时,JMeter会停止,报OOM(内存溢出)错误。 原因是JMeter是一个纯Java开发的工具,内存由java虚拟机JVM管理,当内存回收不及时,堆内存不足时,就会报内存溢错误。 概念补充: 内存泄露:应用使用资源之后没 ...
分类:
编程语言 时间:
2020-07-10 15:43:43
阅读次数:
124
01JVM内存结构Java虚拟机的内存空间分为5个部分:?程序计数器?Java虚拟机栈?本地方法栈?堆?方法区JDK1.8同JDK1.7比,最大的差别就是:元数据区取代了永久代。元空间的本质和永久代类似,都是对JVM规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用本地内存。1.1程序计数器(PC寄存器)(1)程序计数器的定义程序计数器是一块较小的内存空间
分类:
其他好文 时间:
2020-07-10 09:58:56
阅读次数:
77
一、用 jmap(Memory Map for Java)查看堆内存信息 1.查看堆内存信息 命令:jmap -histo pid 解析:可以打印出当前堆中所有每个类的实例数量和内存占用 结果: ...
分类:
其他好文 时间:
2020-07-09 12:04:13
阅读次数:
57