![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 88
JVM
懒鸟一枚
算是总结、沉淀吧……
展开
-
性能监控工具
性能是任何一款软件都需要关注的重要指标。除了软件的基本功能,性能可以说是评价软件优劣的最重要的指标之一。我们该如何有效地监控和诊断性能问题呢?本章基于实践,着重介绍一些针对系统和Java虚拟机的监控和诊断工具,以帮助读者在实际开发过程中改善系统性能。本章涉及的主要知识点有:· Linux下的性能监控工具。· Windows下的性能监控工具。· JDK自带的命令行工具。· JConsole、Visual VM和Mission Control的介绍。原创 2024-06-06 18:22:31 · 811 阅读 · 0 评论 -
JVM学习----七种垃圾收集器(GC)
Parallel Scavenge + Parallel Old (吞吐量优先) JDK8中默认的垃圾收集器组合Serial + CMS (JDK8,声明为废弃,JDK9取消) (CMS JDK14 被删除)ParNew + Serial Old (JDK8,声明为废弃,JDK9取消)G1 (JDK9 成为默认的垃圾收集器)Parallel Scavenge + Serial old(JDK14弃用)垃圾收集器分类作用位置使用算法特点适用场景Serial串行新生代。转载 2024-06-06 16:15:41 · 15 阅读 · 0 评论 -
gc日志深入解析-覆盖CMS、并行GC、G1、ZGC、openj9
各gc的行为(包括各种gc在哪个节点花费的时间最多)及适用场景,应先理解这些前提,分析gc日志才会事半功倍,核心参数解析参见java垃圾回收及gc全面解析(全面覆盖cms、g1、zgc、openj9)开启gc日志选项:-XX:+PrintGC -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC。原创 2024-06-06 15:32:10 · 682 阅读 · 0 评论 -
JVM 堆内存模型
JVM 相关原创 2023-02-28 13:53:18 · 386 阅读 · 0 评论 -
JVM 不同垃圾回收器的日志格式分析
jvm 垃圾回收器的日志分析原创 2023-03-02 18:55:07 · 649 阅读 · 0 评论 -
OOM 问题排查思路以及处理工具
OOM问题排查思路以及实践原创 2022-10-27 23:31:37 · 399 阅读 · 0 评论 -
jvm垃圾回收算法
垃圾回收器算法原创 2023-02-28 23:18:57 · 589 阅读 · 1 评论 -
JAVA开发中GC日志打印简单通用的配置详解
gc 日志配置以及gc的日志格式分析原创 2023-03-02 18:42:00 · 2699 阅读 · 1 评论 -
JVM 三色标记算法
看完了整篇文章,我们试图来回答一些问题。三色标记算法是什么?三色标记算法是根可达算法的一种实现方案,其目的是为了找出所有可达对象。为什么要有三色标记算法?因为传统的「标记 - 清除」算法效率太低,于是采用三色标记算法通过将对象分成白色、黑色、灰色,以及将整个过程拆分成「初始标记、并发标记、重新标记、并发清除」4 个过程,从而降低 GC 停顿时间。三色标记算法有什么缺陷?三色标记算法会产生多标和漏标问题,其中漏标问题最严重。漏标问题会导致本该存活的对象被回收,从而导致严重的程序问题。漏标有什么解决方案?原创 2023-07-04 00:31:30 · 569 阅读 · 0 评论 -
java基础-JVM日志、参数、内存结构、垃圾回收器
简单来说,可触及性包含以下3种状态。原创 2024-05-25 22:14:46 · 480 阅读 · 0 评论 -
JVM 常见配置参数
JVM 配置常见参数Java虚拟机的参数,在启动jar包的时候通过java 命令指定JVM参数-options表示Java虚拟机的启动参数,class为带有main()函数的Java类,args表示传递给主函数main()的参数。原创 2024-05-27 11:20:19 · 1122 阅读 · 0 评论 -
JVM-之GC日志
在项目中开启GC 日志打印后会查看gc 日志如下gc日志如下在项目中如果需要查看使用的垃圾收集器出了使用GC 日志中去分析还可以使用如下命令。原创 2024-05-27 16:10:53 · 488 阅读 · 0 评论 -
GC日志中的Metaspace
知道jdk8之前有perm这一整块内存来存klass等信息,我们的参数里也必不可少地会配置-XX:PermSize以及-XX:MaxPermSize来控制这块内存的大小,jvm在启动的时候会根据这些配置来分配一块连续的内存块,但是随着动态类加载的情况越来越多,这块内存我们变得不太可控,到底设置多大合适是每个开发者要考虑的问题,如果设置太小了,系统运行过程中就容易出现内存溢出,设置大了又总感觉浪费,尽管不会实质分配这么大的物理内存。原创 2024-05-27 18:20:46 · 1041 阅读 · 0 评论 -
JVM内存结构之——常量池
Java源代码 编译成 class字符串常量池还是存放在我们堆中。转载 2024-06-03 18:08:46 · 23 阅读 · 0 评论 -
JVM的STW(stop the world)机制及调优案例
1、stop the world指的是GC事件发生过程中,会产生应用程序的停顿。停顿产生时整个应用程序线程都会被暂停,没有任何响应, 有点像卡死的感觉,这个停顿称为STW。Java中一种全局暂停现象,全局停顿,所有Java代码停止,native代码可以执行,但不能与JVM交互;这些现象多半是由于gc引起。(1)可达性分析算法中枚举根节点(GC Roots)会导致所有Java执行线程停顿。① 分析工作必须在一个能确保一 致性的快照中进行② 一致性指整个分析期间整个执行系统看起来像被冻结在某个时间点上。转载 2024-06-05 17:24:18 · 36 阅读 · 0 评论