
JVM
文章平均质量分 88
这孩子叫逆
要么不做,要么做好
展开
-
什么是内存溢出和内存泄漏?如何解决?
内存溢出(OutOfMemoryError)是指程序在运行时尝试分配内存,但由于没有足够的内存可用,Java 虚拟机(JVM)抛出了错误。常见的内存溢出区域包括堆内存和永久代(在 Java 8 之后被元空间取代)。原创 2024-11-24 17:41:12 · 1930 阅读 · 0 评论 -
频繁Minor GC怎么办?
频繁Minor GC是Java应用程序性能优化的一个重要方面。通过调整堆内存大小、优化对象生命周期管理、严谨管理对象引用、选择合适的垃圾收集器、利用逃逸分析与标量替换技术以及持续监控与分析GC日志等策略,可以有效降低Minor GC的频率,提高系统的性能和响应时间。在实际应用中,应根据具体的应用场景和性能需求,综合考虑多种策略,以达到最佳的优化效果。原创 2024-10-23 15:51:46 · 1063 阅读 · 0 评论 -
JVM常见问题,java问题定位工具
很多时候服务出现问题,在这三者上会体现出现,比如CPU飙升,内存不足发生OOM等,这时候需要使用对应的工具,来对性能进行监控,对问题进行定位。对于CPU的监控,首先可以使用。如果在堆中没有内存完成对象实例的分配,并且堆无法再扩展时,将抛出OutOfMemoryError异常,抛出的错误信息是“java.lang.OutOfMemoryError:Java heap space”。当前主流的JVM可以通过-Xmx和-Xms来控制堆内存的大小,发生堆上OOM的可能是存在内存泄露,也可能是堆大小分配不合理。原创 2024-10-14 19:58:31 · 744 阅读 · 0 评论 -
Arthas 介绍,阿里开源线上JVM性能监控工具
Arthas 是一款由阿里巴巴开发并开源的 Java 应用诊断工具,主要用于帮助开发人员实时监控、诊断和调优 Java 应用程序。这款工具对于处理复杂的生产环境问题特别有效,尤其在定位那些难以复现的线上问题方面表现出色。:可以在不重启应用的情况下进行诊断,这对于生产环境的故障排查尤为重要。:采用命令行交互模式,提供丰富的 Tab 自动补全功能,使得操作更加便捷。:支持 JDK 6 及以上版本,并且可以在 Linux、Mac 和 Windows 等操作系统上运行。原创 2024-10-14 19:53:30 · 640 阅读 · 0 评论 -
JVM可视化监控
VisualVM 是一个工具,它提供了一个可视界面,用于查看 Java 虚拟机 (Java Virtual Machine, JVM) 上运行的基于 Java 技术的应用程序(Java 应用程序)的详细信息。**您可以查看本地应用程序以及远程主机上运行的应用程序的相关数据。此外,还可以捕获有关 JVM 软件实例的数据,并将该数据保存到本地系统,以供后期查看或与其他用户共享。Visual VM比较强大的JVM图形化监控工具,比jconsole强大完善。原创 2024-10-14 19:50:59 · 791 阅读 · 0 评论 -
JVM故障诊断工具
JVM 自带的一系列常用工具,每个工具都有其独特的功能和用途。在遇到线上问题时,我们可以先使用 jps 查询进程的虚拟机 ID,如果是线程问题可以使用 jstack,如果是内存问题可以使用 jmap 和 jhat,而 jstat 和 jinfo 则可以帮助我们在问题发生前监控内存的使用情况和配置信息。当然,这些工具的基本使用方法还有很多细节,需要通过实践来完全掌握。。原创 2024-10-14 19:44:51 · 938 阅读 · 0 评论 -
双亲委派机制,类加载器及其工作原理
Java类加载器(Class Loader)是Java虚拟机(JVM)的一部分,负责将类的字节码加载到内存中,并将其转换为可执行的Java对象。类加载器在Java应用程序中起着重要的作用,它实现了动态加载类的机制,使得Java具备了灵活性和可扩展性。本文将详细介绍Java类加载器的概念、原理以及不同类型的类加载器,并提供一些示例代码。原创 2024-10-09 16:39:15 · 850 阅读 · 0 评论 -
JVM详解(对象内存布局,markWord 数据结构,JDK1.8 JVM 内存结构,堆内存结构(年轻代,年老代),GC垃圾回收,JVM调优参数,垃圾回收器)
markWord 数据结构。原创 2024-09-27 21:12:15 · 924 阅读 · 0 评论