JVM
文章平均质量分 96
Hello Dam
阿里云“专家博主”,支付宝“社区优秀博主”。在读研究生,研究方向为工业智能优化算法和智能制造系统设计与开发。本人有企业项目开发经验,所开发的项目已上线运行,有一定创新能力,在求学期间授权发明专利7项、软著5项、获得多个国家级、省级竞赛奖项,获过研究生国家奖学金。进行博客创作是想将自己摸索到的一点经验、踩过的坑和大家一起分享,希望可以帮助大家解决一些问题、少走一些弯路,也期待能和大家一起学习交流、共同进步。
展开
-
【JVM基础篇】JVM入门介绍
介绍JVM的作用和重要程度,并列举了常见的Java虚拟机原创 2024-05-10 14:27:03 · 709 阅读 · 0 评论 -
【JVM基础篇】字节码文件详解
介绍字节码文件的打开方式、组成部分、常用工具、Arthas工具的简单使用原创 2024-05-10 14:58:46 · 1151 阅读 · 0 评论 -
【JVM基础篇】类生命周期介绍
介绍类生命周期的加载、连接、初始化阶段原创 2024-05-12 22:40:58 · 956 阅读 · 0 评论 -
【JVM基础篇】类加载器分类介绍
介绍JVM中不同类型的类加载器原创 2024-05-12 22:52:02 · 1026 阅读 · 0 评论 -
【JVM基础篇】双亲委派机制介绍
双亲委派机制是Java类加载的核心策略,确保类的唯一性和安全性。当类加载器接收到加载请求时,先检查自身是否已加载,未加载则委派给父加载器处理,直至顶层或找到已加载的类。这一机制避免了核心类库被覆写,保证了系统稳定和安全。若所有加载器均未找到类,则抛出类未找到异常。此外,机制还优化了类加载效率,避免重复加载同一类。在特定情况下,如扩展类加载器查找父加载器,会采用JVM内部特殊机制与启动类加载器交互。原创 2024-05-13 11:39:50 · 1069 阅读 · 0 评论 -
【JVM基础篇】打破双亲委派机制
本文探讨了Java中双亲委派机制的细节与例外情况,重点解析了三种打破该机制的方式:自定义类加载器重写`loadClass`方法、利用线程上下文类加载器和Osgi框架的类加载机制。以Tomcat为例,展示了如何通过自定义类加载器实现Web应用间类的隔离。同时,文章分析了JDBC中DriverManager如何利用SPI机制和线程上下文类加载器加载驱动,解释了这并不算真正打破双亲委派机制。最后,提到了Osgi框架的历史作用及其热部署能力,并简述了使用Arthas工具在不重启服务情况下更新字节码的热部署流程。。原创 2024-05-13 20:24:15 · 1376 阅读 · 0 评论 -
【JVM基础篇】JVM运行时数据区
本文深入剖析了Java运行时数据区的关键组成部分,包括程序计数器、Java虚拟机栈、本地方法栈、堆内存、方法区以及直接内存的概念与作用。特别强调了程序计数器在控制指令执行流程中的重要性,Java虚拟机栈与本地方法栈在方法调用过程中的数据管理,以及堆内存和方法区在对象存储和类信息保存方面的作用。同时,介绍了直接内存的引入背景及其在提高IO操作效率上的优势,并探讨了JDK7及以后版本中字符串常量池和静态变量存储位置的变化,以及如何通过ByteBuddy框架动态创建类以测试方法区的内存溢出情况。原创 2024-05-15 23:11:35 · 740 阅读 · 0 评论 -
【JVM基础篇】Java垃圾回收介绍(包含可达性分析、五种引用对象的回收)
本文深入探讨了Java内存管理和垃圾回收机制,解析了自动与手动回收的差异,以及各自的优缺点。详述了可达性分析算法,GC Root对象的概念,并通过实例展示了如何使用Arthas和MAT工具进行内存快照分析,检测潜在的内存泄漏。文章还介绍了Java中五种引用类型(强引用、软引用、弱引用、虚引用、终结器引用)的特性和应用场景。原创 2024-06-29 23:13:13 · 1156 阅读 · 0 评论 -
【JVM基础篇】Java的四种垃圾回收算法介绍
本博客从垃圾回收的基本概念出发,追溯至其历史起源,深入探讨了标记-清除算法与复制算法的演变,并在此基础上分析了现代垃圾回收算法的优化与发展。文章不仅阐述了垃圾回收算法的评价标准——吞吐量、最大暂停时间及堆使用效率,还提供了具体代码示例来验证Stop The World现象,即GC过程中对用户线程的影响。原创 2024-07-06 16:27:53 · 1552 阅读 · 0 评论 -
【JVM基础篇】Java垃圾回收器介绍
本文档详细解析了Java虚拟机(JVM)中垃圾回收器的原理与实践,涵盖Serial、ParNew、CMS、Parallel Scavenge与Parallel Old、G1等主流垃圾回收器的工作机制、优缺点及适用场景。特别聚焦于G1垃圾回收器,阐述其创新的Region分区管理、年轻代与混合回收策略,以及如何通过参数调整实现低延迟垃圾回收。适合希望深入了解JVM内存管理和优化的开发者阅读。原创 2024-07-06 16:39:36 · 1611 阅读 · 0 评论 -
【JVM实战篇】内存调优:内存泄露危害+内存监控工具介绍+内存泄露原因介绍
本文概述了Java中内存管理的关键挑战,特别是内存泄漏与内存溢出的现象,通过实例详细阐述了内存泄漏的成因,如不当的equals()和hashCode()实现、ThreadLocal的误用、内部类对父类的隐式引用等。文中强调了监控内存的重要性,并利用Arthas等工具进行实时监测。同时,通过案例展示了如何避免内存泄漏,如正确重写equals()和hashCode()方法、谨慎使用静态字段存储对象、合理管理资源的生命周期。本文旨在帮助开发者理解内存泄漏的危害,提供预防和解决策略,确保应用程序的稳定性和性能。`原创 2024-07-13 11:04:11 · 671 阅读 · 0 评论 -
【JVM实战篇】内存调优:内存问题诊断+案例实战
本文档详述了Java应用程序中内存管理与优化的关键实践。它介绍了如何使用MAT(Memory Analyzer Tool)诊断内存泄漏,包括在内存溢出时生成和分析堆内存快照(hprof文件),利用支配树和深堆概念识别潜在的内存泄漏源头。文档还提供了具体的案例分析,如修复分页查询接口、Mybatis SQL构建、线程池及ThreadLocal管理等引起的内存溢出问题,以及如何在云原生环境下处理大规模数据导出时的内存挑战。通过调整代码逻辑、参数配置和设计模式,有效地解决了高并发场景下的内存消耗问题。原创 2024-07-13 23:06:01 · 1128 阅读 · 0 评论