本文主要介绍Alibaba开源的Java诊断工具,开源到现在已经几万个点赞了,深受开发者喜爱。
- 调试排错 Java 问题排查之应用在线调试Arthas
- Arthas简介
- Arthas入门
- Arthas 上手前
- Arthas 安装
- Arthas 官方案例展示
- Arthas 命令集
- Arthas场景实战
- Arthas源码
- 参考资料
本文主要介绍Alibaba开源的Java诊断工具,开源到现在已经几万个点赞了,深受开发者喜爱。
本文整理自美团技术团队在新窗口打开, 这篇文章将可以帮助你构建CMS GC相关问题解决的知识体系,分享给你。
GC 垃圾回收器之CMS GC问题分析与解决
Java 在线问题排查主要分两篇:本文是第二篇,通过java调试/排查工具进行问题定位。
本文转载自 美团技术团队胡健的Java 动态调试技术原理及实践在新窗口打开, 通过学习java agent方式进行动态调试了解目前很多大厂开源的一些基于此的调试工具。
G1垃圾回收器是在Java7 update 4之后引入的一个新的垃圾回收器。同优秀的CMS垃圾回收器一样,G1也是关注最小时延的垃圾回收器,也同样适合大尺寸堆内存的垃圾收集,官方在ZGC还没有出现时也推荐使用G1来代替选择CMS。G1最大的特点是引入分区的思路,弱化了分代的概念,合理利用垃圾收集各个周期的资源,解决了其他收集器甚至CMS的众多缺陷。
GC 垃圾回收器之G1详解
垃圾收集主要是针对堆和方法区进行;程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后也会消失,因此不需要对这三个区域进行垃圾回收。
本文以两个简单的例子(
堆内存溢出
和MetaSpace (元数据) 内存溢出
)解释Java 内存溢出的分析过程。
Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化;并且在实际的排错过程中,还会用到Remote Debug。IDEA 相比 Eclipse/STS效率更高,本文主要介绍基于IDEA的Debug和Remote Debug的技巧。
本文主要转载自 Info 上深入理解Java内存模型在新窗口打开, 作者程晓明。这篇文章对JMM讲的很清楚了,大致分三部分:重排序与顺序一致性;三个同步原语(lock,volatile,final)的内存语义,重排序规则及在处理器中的实现;java 内存模型的设计,及其与处理器内存模型和顺序一致性内存模型的关系。
很多人都无法区分Java内存模型和JVM内存结构,以及Java内存模型与物理内存之间的关系。本文从堆栈角度引入JMM,然后介绍JMM和物理内存之间的关系, 为后面
JMM详解
,JVM 内存结构详解
,Java 对象模型详解
等铺垫。