2.通过jmap监控内存使用情况 2.1 监控堆内存 jamp -heap 12840 2.2 监控内存中对象的数量及其大小 查看所有对象的数量以及大小包括类型:jmap -histo 14116 | more 查看所有对象的数量以及大小包括类型:jmap -histo:live 14116 | m ...
分类:
Web程序 时间:
2020-03-04 19:29:14
阅读次数:
101
什么是jmap? jmap是JDK自带的工具软件,主要用于打印指定Java进程(或核心文件、远程调试服务器)的共享对象内存映射或堆内存细节。 可以使用jmap生成Heap Dump。 在Java命令Java Dump和Java命令:Jstack中分别有关于Java Dump以及线程 Dump的介绍。 ...
分类:
其他好文 时间:
2020-03-04 15:07:52
阅读次数:
120
stack: 栈,存放局部变量,有系统释放 heap: 堆, 存放动态分配的内存,有程序员自己手动释放。比如: int * p = (int * )malloc(4); free(p) 释放的是动态内存,p是局部变量,所以并未释放。 globle, 全局变量, 存放全局变量以及静态变量。有系统自动释 ...
分类:
其他好文 时间:
2020-03-03 00:56:33
阅读次数:
65
Leetcode: "530. 二叉搜索树的最小绝对差" Leetcode: "530. 二叉搜索树的最小绝对差" Talk is cheap . Show me the code . ...
分类:
其他好文 时间:
2020-02-28 20:49:31
阅读次数:
51
java中内存的划分 栈(stack):存放的都是方法中的局部变量。方法的运行一定要在栈当中运行。 局部变量:方法的参数,或者是方法{}内部的变量 作用域:一旦超出作用域,立刻从占内存当中消失。 堆(Heap):凡是new出来的东西,都在堆当中。 堆内存中的东西都有一个地址值:16进制 堆内存里的数 ...
分类:
编程语言 时间:
2020-02-28 14:00:24
阅读次数:
51
[TOC] 常规检查 逆向分析 create_heap 函数 可以再次编辑 chunk 的内容,而且可以选择输入大小。如果我们这次输入的 size 比创建时大的话,就会导致堆溢出 delete 函数 释放对应 index 的 chunk,并将数组 heaparray 对应的地址置 0。 main 函 ...
分类:
其他好文 时间:
2020-02-25 17:42:36
阅读次数:
231
1,C程序中,不同数据在内存中分配说明 ①全局变量 内存中的静态存储区 ②非静态的局部变量 内存中的动态存储区 stack 栈 ③临时使用的数据 建立动态内存分配区域,需要时随时开辟,不需要时及时释放 heap 堆 ④根据需要向系统申请所需大小的空间,由于未在声明部分定义其为变量或者数组,不能通过变 ...
分类:
其他好文 时间:
2020-02-25 17:28:18
阅读次数:
80
一、技术总结 1. 这是一道考查插入排序和堆排序的问题。 2. 这里开始最主要的问题是,没有理解堆排序。堆排序是通过把数组中第一个元素与最后一个元素交换,然后再对于第一个元素进行向下调整downAdjust函数。 3. 所以这里对于插入排序,只要一直遍历发现第一个元素的比前一个元素小,记录下这时的下 ...
分类:
其他好文 时间:
2020-02-23 22:18:07
阅读次数:
67
https://juejin.im/post/5a15be736fb9a044fc4464d6 jvm jvm把内存分为 1.方法区(Method Area) 2.堆区(Heap) 3.虚拟机栈(VM Stack) 4.本地方法栈(Native Method Stack) 5.程序计数器(Progr ...
分类:
其他好文 时间:
2020-02-23 09:15:59
阅读次数:
51
堆 堆相关操作 建堆 向下堆化 向上堆化 删除堆顶(向下堆化) 添加元素(向上堆化) 堆排序 建堆(逆序 向下堆化) 排序(向下堆化) Code ...
分类:
编程语言 时间:
2020-02-22 13:45:48
阅读次数:
51