JVM 中常用的调优参数总结在之前的文章中,我们介绍了 JVM 相关的命令参数知识,其实每一个 JDK 版本,参数的可选项可能略有不同。如何根据当前版本,合理的对服务进行调参呢?开发者可以直接在命令窗口通过java -help命令来查看。下面我们一起来看看如何使用当前版本 JVM 相关的参数选项。panzhi2022年6月12日大约 14 分钟javajvm
JVM 中常用的可视化调优工具汇总在之前的文章中,我们介绍了 JVM 常用的命令使用。不错,命令确实非常的管用,但是要想熟悉的记住这些命令,并非易事,除非很频繁的使用,否则真的很难。对于绝大部分开发者而言,都希望有一个可视化的界面来展示当前服务的性能指标,当需要的时候,直接将线上服务的 dump 文件导出,然后导入到相关工具中通过界面来查询分析结果,而不是通过枯燥的命令来快速排查服务故障。panzhi2022年6月11日大约 10 分钟javajvm
JVM 中常用的调优命令汇总虽然目前市场上有很多成熟的 JVM 可视化监控分析工具,但是所有的工具其实都依赖于 JDK 的接口和底层相关的命令,了解这些命令的使用对于我们在紧急情况下排查 JVM 相关的线上故障,会有更加直观的帮助。下面我们一起来看看 JVM 常用的命令有哪些。panzhi2022年6月10日大约 16 分钟javajvm
GC 日志分析和相关可视化工具介绍在之前的文章中,我们介绍了 JVM 的垃圾收集器相关知识,那么如何分析当前虚拟机性能呢?其中 GC 日志起到至关重要的作用。实际上,每种垃圾收集器都有它独立的日志格式,尽管如此,虚拟机为了方便用户阅读,将各个收集器的日志都维持在一定的共性状态。下面我们一起来看看不同的垃圾收集器,相关的 GC 日志内容。panzhi2022年6月9日大约 10 分钟javajvm
深入分析 JVM 中的垃圾收集器在之前的几篇文章中,我们介绍了 JVM 内部布局、对象的创建过程、运行期的相关优化手段以及垃圾对象的回收算法等相关知识。今天通过这篇文章,结合之前的知识,我们一起来了解一下 JVM 中的垃圾收集器。panzhi2022年6月8日大约 20 分钟javajvm
图解 JVM 中的垃圾收集算法在之前的文章中,我们介绍了 JVM 内部布局、对象的创建过程以及运行期的相关优化手段。今天通过这篇文章,一起来了解一下对象回收的判定方式以及垃圾对象的回收算法等相关知识。panzhi2022年6月7日大约 8 分钟javajvm
JVM 运行期的几种优化技术介绍在之前的文章中我们谈到过,相比 C/C++ 语言,Java 语言在运行效率方面要稍逊一些,因为 Java 应用程序是在虚拟机上运行,而 C/C++ 程序是直接编译成平台相应的机器码来运行程序。从虚拟机对外发布开始,开发团队一直在努力试图缩小 Java 与 C/C++ 语言在运行效率上的差距。从实际的结果来看,确实成果显著。本文就来聊聊 HotSpot 虚拟机为了提升 Java 程序的执行效率,都实现了哪些激动人心的优化技术。panzhi2022年6月6日大约 18 分钟javajvm
Java 对象在内存中的分配过程详解在之前的文章中,我们介绍了类加载的过程、JVM 内存布局和对象的创建过程相关的知识。本篇综合之前的知识,重点介绍一下对象的内存分配流程。panzhi2022年6月5日大约 7 分钟javajvm
Java 对象在内存中的创建过程详解在之前的文章中,我们介绍了类加载的过程和 JVM 内存布局相关的知识。本篇我们综合之前的知识,结合代码一起推演一下对象的真实创建过程,以及对象创建完成之后在 JVM 中是如何保存的。panzhi2022年6月4日大约 13 分钟javajvm
图文详解 JVM 内存布局熟悉 Java 语言特性的同学都知道,相比 C、C++ 等编程语言,Java 无需通过手动方式回收内存,内存中所有的对象都可以交给 Java 虚拟机来帮助自动回收;而像 C、C++ 等编程语言,需要开发者通过代码手动释放内存资源,否则会导致内存溢出。尽管如此,如果编程不当,Java 应用程序也可能会出现内存溢出的现象。当出现内存溢出,该如何解决呢?panzhi2022年6月3日大约 23 分钟javajvm