首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JVM
订阅
南山的海风
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
Java性能调优(十一)JVM调优(2)
掌握 GC 算法之前,我们需要先弄清楚 3 个问题。第一,回收发生在哪里?第二,对象在什么时候可以被回收?第三,如何回收这些对象? 1. 回收发生在哪里? JVM 的内存区域中,程序计数器、虚拟机栈和本地方法栈这 3 个区域是线程私有的,随着线程的创建而创建,销毁而销毁;栈中的…
jvm优化必知系列——监控工具
通过上一篇的jvm垃圾回收知识,我们了解了jvm对内存分配以及垃圾回收是怎么来处理的。理论是指导实践的工具,有了理论指导,定位问题的时候,知识和经验是关键基础,数据可以为我们提供依据。 我们一般会基于数据收集来定位,而数据的收集离不开监控工具的处理,比如:运行日志、异常堆栈、G…
JVM 内存分析工具 MAT 的深度讲解与实践——进阶篇
本系列共三篇文章, 本文是系列第2篇——进阶篇,详细讲解 MAT 各种工具的核心功能、用法、适用场景,并在具体实战场景下讲解帮大家学习如何针对各类内存问题。 《JVM 内存分析工具 MAT 的深度讲解与实践——入门篇》 介绍 MAT 产品功能、基础概念、与其他工具对比、Quic…
面试官:说说双亲委派模型?
在说双亲委派模型之前首先得先了解一下类加载阶段。 类加载阶段分为加载、连接、初始化三个阶段,而加载阶段需要通过类的全限定名来获取定义了此类的二进制字节流。Java特意把这一步抽出来用类加载器来实现。把这一步骤抽离出来使得应用程序可以按需自定义类加载器。并且得益于类加载器,OSG…
不知道javaagent是什么,运行个hello world就知道了
从事java开发的同学,或多或少听说过java探针/javaagent这个术语。本文不说它的定义,不说它的原理,不说它的高大上的作用,只说它的"hello world"。即运行一个最简单的例子,实际看
系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路
一般排查问题也是围绕着内存cpu等几个元素去排查。下图是一张大体的排查故障或者性能问题的过程,看图,不多说。 处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的…
总结CMS常见面试题
并发标记:和应用线程并发执行,遍历初始标记阶段标记过的对象,标记这些对象的可达对象。 重新标记:由于并发标记是和应用线程是并发执行的,所以有些标记过的对象发生了变化。这个过程比初始标记用时长,但是比并发标记阶段用时短。会发生(stop the world) 并发清除:和应用线程…
JVM系列(2)- jmap+mat实战内存溢出
2)、jstat -gc 23789 1000 10:每个一秒打印一次23789进程的gc结果,共打印10次。 分别制造堆内存溢出和metaspace内存溢出,在启动参数中设置为32M。 format表示格式化,file表示文件名称,10776是pid。 打开open-file…
JVM系列之实战内存溢出异常
大家好,相信大部分Javaer在code时经常会遇到本地代码运行正常,但在生产环境偶尔会莫名其妙的报一些关于内存的异常,StackOverFlowError,OutOfMemoryError异常是最常见的。今天就基于上篇文章JVM系列之Java内存结构详解讲解的各个内存区域重点…
模拟内存溢出&通过MAT分析
搭建一个简易的springboot工程,在controller层循环添加对象,直至OOM。 启动项目,swagger调用userController方法,等待OOM出现。最后会在配置的位置上出现java_error_in_idea.hprof文件。 下载地址:https://w…