jvm细化图: VM的内存部分则是由方法区(Method Area)、JAVA堆(Heap)、虚拟机栈(Stack)、程序计数器、本地方法栈这几部分组成;除此以外,在概念中还有一个直接内存的概念,事实上这部分内存并不属于虚拟机规范中定义的内存区域,但是因为在JDK1.4+后新加的NIO类,以及JDK ...
分类:
编程语言 时间:
2020-05-21 19:01:10
阅读次数:
51
二叉堆是一种特殊的堆,二叉堆是完全二元树(二叉树)或者是近似完全二元树(二叉树)。 二叉堆有两种:最大堆和最小堆。 最大堆:父结点的键值总是大于或等于任何一个子节点的键值。 最小堆:父结点的键值总是小于或等于任何一个子节点的键值。 下面举例子来看看一个二叉堆插入数据的例子(最小堆,即queue里面的 ...
分类:
编程语言 时间:
2020-05-21 14:39:00
阅读次数:
49
在Linux服务器上使用JMeter进行压力测试时遇到报错 java.lang.OutOfMemoryError: Java heap space Dumping heap to java_pid21100.hprof ... Heap dump file created [1165614889 b ...
分类:
编程语言 时间:
2020-05-21 00:29:18
阅读次数:
154
什么是堆 堆 首先是一个完全二叉树, 堆 分为 大顶堆 和 小顶堆 ; 大顶堆 : 每个节点的值大于或等于其左右孩子节点的值,称为大顶堆。 小顶堆 同理就是每个节点的值小于或等于其左右孩子节点的值。 注意 : 每个节点的左右孩子节点的大小关系并没有限定。 大顶堆举例 如图: 首先其为一个完全二叉树, ...
分类:
编程语言 时间:
2020-05-19 18:10:55
阅读次数:
74
java虚拟机的内存分为三个区域:栈stack、堆heap、方法区method area 栈:jvm为每个线程创建一个栈;栈属于线程私有,不能实现线程间的共享;栈由系统自动分配,速度快;是一个连续的内存空间。栈描述的是方法执行的内存模型,每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口 ...
分类:
编程语言 时间:
2020-05-18 14:28:54
阅读次数:
66
进入到命令行:./zkCli.sh -server 10.1.1.120:2181查看注册的dubbo服务:ls /查看dubbo服务提供的对外接口:ls /dubbo查看消费者:ls /dubbo/com.ipharmacare.engine.api.CacheApi/consumers查看生产者 ...
分类:
其他好文 时间:
2020-05-18 10:44:49
阅读次数:
51
1. 事故发生 某天晚上,收到系统CPU占用过高报警,立刻登录服务器查看cpu信息(top,命令即可),此时CPU占用率高达750%+, 查看GC日志,频繁的发生Full GC, 并且一次Full GC市场可达到6s,立刻使用jmap命令dump文件(命令:jmap dump:file=heap.b ...
分类:
其他好文 时间:
2020-05-14 23:53:23
阅读次数:
91
1.内存的增长主要在binary上 1.binary有两处存储位置 --1. size <= 64 字节(bytes)时,存储在进程的单独heap中,bianry叫做Heap-binary。 --2. size > 64 字节(bytes)时,存储在虚拟机分配出来的单独heap中,bianry叫做R ...
分类:
其他好文 时间:
2020-05-14 10:48:28
阅读次数:
76
树堆(Treap)详解 本篇随笔详细讲解一下一种随机化数据结构——树堆($Treap$)。 树堆的概念 首先给一个字符串等式: $$ Treap=Tree+heap $$ 所以$Treap$树堆其实就是树+堆。树是二叉查找树$BST$,堆是二叉堆,大根堆小根堆都可以。 关于$BST$的相关知识,请看 ...
分类:
其他好文 时间:
2020-05-13 20:28:48
阅读次数:
77
1、jmap命令概述 Jmap是一个可以输出内存中所有对象的工具。可以将JVM中的heap(堆),以二进制形式输出成文本。打印出某个java进程内存内所有‘对象‘’的情况。 2、基本命令 pid:java进程号 1、jmap -heap pid : 打印heap的概要信息,GC使用的算法,heap的 ...
分类:
其他好文 时间:
2020-05-13 13:52:41
阅读次数:
176