JVM
文章平均质量分 92
空城1995
爱编程,爱java。
展开
-
java常见的内存泄漏
1. 基本理解内存泄漏和内存溢出的关系:1)内存泄漏申请了内存用完了不释放,比如一共有1024M的内存,分配了512M的内存一直不回收,那么可以用的内存只有512M了,仿佛泄漏掉了一部分。2)内存溢出申请内存时,没有足够的内存可以使用。泄漏的分类经常发送:发送内存泄漏的代码会被多次执行,每次执行,泄漏一块内存偶尔发送:在某些特定情况下才会发送一次性:发送内存泄漏的方法只会执行一次隐式泄漏:一直占着内存不释放,直到执行结果;严格的说这个不算内存泄漏,因.原创 2021-08-07 17:32:57 · 489 阅读 · 0 评论 -
JVM监控-命令行篇
1. 概述性能诊断是软件工程师在日常工作中需要经常面对和解决的问题,在用户体验至上的今天,解决好应用的性能问题能带来非常大的收益。Java作为最流行的编程语言之一,其应用性能诊断一直受到业界广泛关注。可能造成Java出现性能问题的因素非常多,例如线程控制、磁盘读写、数据库访问、网络I/O,垃圾收集等。想要定位这些问题,一款优秀的性能诊断工具必不可少。2. jps:查看正在运行的java进程2.1 基本情况jps(Java Process Status):显示指定系统内所有的HotSp原创 2021-08-07 16:56:39 · 368 阅读 · 0 评论 -
内存分析工具MAT介绍
MAT(Memory Analyzer Tool)是一个基于Eclipse的内存分析工具,是一个快速、功能丰富的java heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗。官网地址:https://www.eclipse.org/mat/这里我们下载Mac OS版本作为演示2.启动MAT程序下载mac版本mat解压后,直接双击 mat ,提示如下图:...原创 2019-08-12 10:27:24 · 542 阅读 · 0 评论 -
java内存溢出的定位和分析
内存溢出在实际的生产环境中经常会遇到,比如,不断的将数据写入到一个集合中,出现了死循环,读取超大的文件等,都会造成内存溢出。如果出现了内存溢出,首先我们需要定位到发生内存溢出的环节,并进行分析,是正常情况还是非正常情况,如果是正常的需求,就应该考虑加大内存的设置,如果不是正常的需求,那么就要对代码进行修改,修复这个bug。1.模拟内存溢出public class TestJVMOut...原创 2019-08-12 11:23:37 · 1722 阅读 · 0 评论