JVM-堆

一、概念

堆是Java虚拟机内存结构中的一部分。通过new关键字创建的对象都会分配在堆中。堆中的对象是线程共享的,需要考虑线程安全问题,堆中有垃圾回收机制。

二、堆内存溢出

虽然堆中有垃圾回收机制,但是如果当堆中的数据都仍需要使用,便不能被回收。因此大量的数据是有可能造成堆内存溢出的。

三、堆内存诊断工具
  1. jps:查看当前系统中有哪些Java进程
  2. jmap:查看堆内存占用的情况 jmap -heap pid
  3. jconsole:可视化工具
  4. jvisualvm:一个功能强大的Java应用程序监控、分析和调试工具,提供了丰富的可视化界面和插件机制,帮助用户更好地了解和管理Java应用程序的运行状态,优化应用程序的性能。
相关推荐
不知名的老吴6 分钟前
线程的生命周期之线程同步
java·开发语言·jvm
协享科技8 分钟前
Spring Boot 与 Go 双服务架构实践:从单体拆分到通信设计
java·人工智能·spring boot·后端·架构·golang·ai编程
J2虾虾1 小时前
C 语言 void 完全用法
c语言·开发语言
码语智行1 小时前
地图上图、空间拓扑查询示例
java·arcgis
会Tk矩阵群控的小木1 小时前
基于Python的iMessage短信群发与社媒多账号统一管理系统实现
开发语言·windows·python·新媒体运营·开源软件·个人开发
程序员黑豆1 小时前
AI全栈开发 - Java:变量
java·前端·ai编程
我是一颗柠檬1 小时前
【Java项目技术亮点】分库分表+数据路由策略:单表5000万后的架构升级方案
java·开发语言·分布式·架构
wu_ye_m1 小时前
学习c语言第35天 函数声明和定义
c语言·开发语言·学习
布朗克1681 小时前
25 IO流高级操作——序列化、NIO与Files工具类
java·数据库·io·nio
njsgcs1 小时前
c# solidworks 创建装配体工程图+bom
开发语言·c#·solidworks