标签:jstack

Java

性能测试如何定位瓶颈?偶发超时?看高手如何快速排查问题

7

songhua.gao 发布于 2020-04-03

作者 |  张奇(司楚) 当线上碰到头疼的问题时,还在对着代码一行行的看?真的不太时髦了啊喂~ 俗话说的好 “问题排查不用愁,Arthas 来帮您忙。” 今天就来说说这个让妈妈再也不用担心我排查问题的 Java 诊断神器——Arthas! 什么是 Arthas? Art...

阅读(17)评论(0)赞 (0)

Java

Java程序员面试BAT大厂,逃脱不了JVM,最新20道JVM面试题

4

xirruiqiang 发布于 2020-04-03

很多人说JVM是不是真的要学?面试官都会问JVM的问题吗?很重要吗? 的确很重要。 随着互联网的发展,高并发高可用、快速响应成为软件的必须,而JVM与这些有着密切关联。 我们在尽情享受Java虚拟机带来好处的同时,还应该去了解和思考“这些技术特性是如何实现的”,去了解最底层的原理...

阅读(16)评论(0)赞 (0)

Java

这四个问题场景你会排查原因吗?看看高手是如何使用 Arthas 快速定位原因的!

9

hanze 发布于 2020-04-03

点击上方蓝色“ 程序猿DD ”,选择“设为星标” 回复“ 资源 ”获取独家整理的学习资料! 作者 | 张奇(司楚) 当线上碰到头疼的问题时,还在对着代码一行行的看?真的不太时髦了啊喂~ 俗话说的好 “ 问题排查不用愁,Arthas 来帮您忙 。” 今天就来说说这个让妈妈...

阅读(17)评论(0)赞 (0)

Java

这四个问题场景你会排查原因吗?看看高手是如何使用 Arthas 快速定位原因的!

9

darida 发布于 2020-04-03

点击上方蓝色“ 程序猿DD ”,选择“设为星标” 回复“ 资源 ”获取独家整理的学习资料! 作者 | 张奇(司楚) 当线上碰到头疼的问题时,还在对着代码一行行的看?真的不太时髦了啊喂~ 俗话说的好 “ 问题排查不用愁,Arthas 来帮您忙 。” 今天就来说说这个让妈妈...

阅读(15)评论(0)赞 (0)

Java

震精!Spring Boot内存泄露,排查竟这么难!

15

邓龙华 发布于 2020-04-02

点击上方 "IT牧场" ,选择 "设为星标" 技术干货每日送达! 作者 | 纪兵 来源 |   http://suo.im/5MABXL 背景 为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Bo...

阅读(9)评论(0)赞 (0)

Spring

spring boot 引起的 “堆外内存泄漏”

15

xiaoli.wang 发布于 2020-04-02

背景 组内一个项目最近一直报swap区域使用过高异常,笔者被叫去帮忙查看原因。发现配置的4G堆内内存,但是实际使用的物理内存高达7G,确实有点不正常,JVM参数配置是: -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+A...

阅读(6)评论(0)赞 (0)

Java

进阶 | JVM 深入解析(12000 字总结)

8

xiaoli.he 发布于 2020-03-31

工作之余,想总结一下JVM相关知识。 Java运行时数据区 Java虚拟机在执行Java程序的过程中会将其管理的内存划分为若干个不同的数据区域,这些区域有各自的用途、创建和销毁的时间,有些区域随虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束来建立和销毁。 Java虚...

阅读(15)评论(0)赞 (0)

Java

Java 程序该怎么优化?(工具篇)

26

puefu.he 发布于 2020-03-31

程序员:为什么程序总是那么慢?时间都花到哪里去了? 面试官:若你写的 Java 程序,出现了性能问题,该怎么去排查呢? 工欲善其事必先利其器,为你呈上一箩筐性能优化工具,必有一款满足你,废话不多说,直奔主题。 1.  hprof 工具 hprof 工具是通过织入监控代码...

阅读(18)评论(0)赞 (0)

Java

[JVM教程与调优] 为什么要学习JVM虚拟机?

2

yeseng 发布于 2020-03-30

JVM 在我们开发阶段不会用到,但是到了生产环境中,那么就会变得非常重要了。 为什么这么说呢? 一方面,因为我们的生产环境是比较复杂的。各种可能的问题都会出现,比如说:硬盘坏了、网络坏了、CPU利用率高了等问题层次不穷。 另外一方面,在我们生产环境出现问题,还不好进行定位。因为没...

阅读(13)评论(0)赞 (0)

Java

[JVM教程与调优] JVM都有哪些参数类型?

8

尖兵 发布于 2020-03-30

JDK本身是提供了一些监控工具,有一些是命令行,也有图形界面。本次介绍命令行如何进行监控。 命令行是非常重要的,因为在我们生产环境基本上是没有图形界面的,完全是通过命令行。 主要内容: JVM的参数类型 运行时JVM参数查看 jstat查看虚拟机统计信息 jmap+MAT实战内存...

阅读(13)评论(0)赞 (0)

Java

面试刷题18:死锁是怎么产生的?如何定位修复?

6

尖兵 发布于 2020-03-30

死锁是并发编程的难点问题。 大家好,我是李福春,我在准备面试,今天的问题是: 死锁是如何产生的?如何定位?如何修复和避免? 答:死锁是一种特定的程序状态,一般是多线程场景下两个以上的线程互相持有对方需要的锁而处于的永久阻塞状态。 定位方法:jstack分析线程的栈信息可以定位出来...

阅读(15)评论(0)赞 (0)

Java

Java 程序该怎么优化?实战篇

13

尖兵 发布于 2020-03-27

面试官: 出现了性能问题,该怎么去排查呢? 程序猿: 接口响应那么慢,时间都花到哪里去了? 运维喵: 为什么你的应用跑着跑着,CPU 就接近 100%? 分享一些真实生产问题排查故事,看看能否涨姿势,能否 get 到其中之「趣」? 另外,为了方便收藏,文末把 Java 程序优化及...

阅读(25)评论(0)赞 (0)

Java

类初始化导致死锁

5

xiaoli.he 发布于 2020-03-27

如上图,Thread1 拿到了 object1,Thread2 拿到了 object2,但是现在 Thread1 需要拿到 object2 的锁才能继续往下,Thread2 又要拿到 object1 才能继续往下,于是哪个线程都无法得到满足继续往下来释放对方所需要的锁对象,从而造...

阅读(19)评论(0)赞 (0)

Java

JVM从入门到入土之JVM的面试题

3

likai 发布于 2020-03-27

文本已收录至我的GitHub仓库,欢迎Star: github.com/bin39232820… 种一棵树最好的时间是十年前,其次是现在我知道很多人不玩 qq 了,但是怀旧一下,欢迎加入六脉神剑Java菜鸟学习群,群聊号码: 549684836 鼓励大家在技术的路上写博客 絮叨 ...

阅读(15)评论(0)赞 (0)

Spring

震精!Spring Boot内存泄露,排查竟这么难!

15

xiaoli.wang 发布于 2020-03-26

http://suo.im/5MABXL 背景 为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7...

阅读(18)评论(0)赞 (0)

Java

mat使用

9

xirruiqiang 发布于 2020-03-25

前言 MAT从入门到精通(一) 基本概念 heap dump Heap Dump中主要包含当生成快照时堆中的java对象和类的信息,主要分为如下几类: 对象信息:类名、属性、基础类型和引用类型 类信息:类加载器、类名称、超类、静态属性 gc roots:JVM中的一个定义,进行垃...

阅读(18)评论(0)赞 (0)

Java

Java线程生命周期这样理解挺简单的

14

hanze 发布于 2020-03-25

之前写过 Spring Bean 生命周期三部曲: Spring Bean生命周期之缘起 Spring Bean生命周期之缘尽 Spring Aware 到底是什么? 有朋友留言说:“了解了它们的生命周期后,使用 Spring Bean 好比看到它们的行动轨迹,现在使用就一点都不...

阅读(21)评论(0)赞 (0)

Java

排查CPU占用过高的问题

10

xubiao.zhuang 发布于 2020-03-24

一、背景 最近测试服出现了CPU异常高的情况,占用率接近 100%,所以写篇文章简单地记录下碰到这种情况,该如何去定位导致CPU异常的代码,下文介绍了几种比较常用的工具。 下文均基于测试代码。 二、准备 我们先准备一个测试项目,此处使用的是一个简单的 springboot 的 w...

阅读(24)评论(0)赞 (0)