JVM相关知识3

目录

一定要用双亲委派机制吗?

JDK中有哪些默认的类加载器?

虚拟机基础故障处理工具有哪些?

堆相关的JVM参数

GC性能指标是什么?调优原则是什么?

[如何降低Full GC的频率?](#如何降低Full GC的频率?)


一定要用双亲委派机制吗?

Java虚拟机规范并没有明确要求类加载器的加载机制一定要使用双亲委派模型,只是建议采用这种方式而已。

比如在Tomcat中,类加载器所采用的加载机制就和传统的双亲委派模型有一定区别,当缺省的类加载器接收到一个类的加载任务时,首先会由它自行加载,当它加载失败时,才会将类的加载任务委派给它的超类加载器去执行,这同时也是Servlet规范推荐的一种做法

JDK中有哪些默认的类加载器?

1.启动类加载器,Bootstrap ClassLoader

2.扩展类加载器,Extension ClassLoader

3.应用程序类加载器,AppClassLoader

虚拟机基础故障处理工具有哪些?

1.jConsole:用于对JVM中内存、线程和类等的监控,是一个基于JMX(java management extensions)的GUI性能监控工具。

2.Visual VM:是一个功能强大的多合一故障诊断和性能监控的可视化工具。

3.JProfiler:是由 ej-technologies 公司开发的一款 Java 应用性能诊断工具。功能强大,但是收费。

4.eclipse MAT:MAT(Memory Analyzer Tool)工具是一款功能强大的Java堆内存分析器。可以用于查找内存泄漏以及查看内存消耗情况。

堆相关的JVM参数

-Xms3550m:等价于-XX:InitialHeapSize,设置JVM初始堆内存为3550M

-Xmx3550m:等价于-XX:MaxHeapSize,设置JVM最大堆内存为3550M

-Xmn2g:设置年轻代大小为2G,官方推荐配置为整个堆大小的3/8

-XX:NewRatio=4:设置老年代与年轻代(包括1个Eden和2个Survivor区)的比值

-XX:+UseAdaptiveSizePolicy:自动选择各区大小比例

-XX:PretenureSizeThreadshold=1024:设置让大于此阈值的对象直接分配在老年代,单位为字 节,只对Serial、ParNew收集器有效

GC性能指标是什么?调优原则是什么?

1-停顿时间(或响应时间)

2-吞吐量

3-并发数

4-内存占用

原则:防止出现OOM,进行JVM规划和预调优,解决程序运行中各种OOM,减少Full GC出现的频率,解决运行慢、卡顿问题。

如何降低Full GC的频率?

1.减少进入老年代的对象数量

2.调整堆内存大小

相关推荐
我命由我123451 小时前
Spring Boot 自定义日志打印(日志级别、logback-spring.xml 文件、自定义日志打印解读)
java·开发语言·jvm·spring boot·spring·java-ee·logback
xyliiiiiL5 小时前
ZGC初步了解
java·jvm·算法
心灵Haven9 小时前
JVM介绍
jvm
小样vvv12 小时前
【面试篇】JVM
jvm·面试·职场和发展
兢兢业业的小白鼠12 小时前
Java高级JVM知识点记录,内存结构,垃圾回收,类文件结构,类加载器
java·开发语言·jvm·tomcat
程序猿chen17 小时前
《JVM考古现场(十五):熵火燎原——从量子递归到热寂晶壁的代码涅槃》
java·jvm·git·后端·java-ee·区块链·量子计算
Song18 小时前
JVM 学习计划表(2025 版)
jvm·学习
皮卡兔子屋19 小时前
java虚拟机---JVM
java·jvm
可爱的霸王龙21 小时前
JVM——模型分析、回收机制
java·jvm
喻米粒06221 天前
RabbitMQ消息相关
java·jvm·spring boot·spring·spring cloud·sentinel·java-rabbitmq