【Java】4、虚拟机 JVM

在这里插入图片描述

在这里插入图片描述

Java内存区域

JVM垃圾回收

  • 内存泄漏:指的是程序在运行过程中动态分配的内存,在使用完毕后未能正确释放,导致这部分内存无法再次被利用。即使这些对象已经不再需要,由于仍然存在未解除的引用,垃圾回收器无法回收它们
  • 内存溢出:指程序运行时申请的内存量超过了JVM堆或非堆内存的限制,导致内存不足以完成操作。当JVM尝试分配新对象或扩展现有对象大小时,若没有足够的可用内存,并且垃圾收集也无法提供足够的空间,就会抛出OutOfMemoryError
  • 内存碎片:指在内存分配和释放的过程中,由于分配算法和释放模式的原因,导致内存中出现了许多小的、不连续的空闲块。这些空闲块单独来看是可用的,但由于它们不是连续的,对于较大对象的分配来说却无法使用
  • 区别总结
    根本原因:内存泄漏是由程序逻辑缺陷引起的,而内存溢出可能是由于资源限制或配置不当引起的
    表现形式:内存泄漏表现为应用程序逐渐消耗更多的内存,而内存溢出则直接导致程序崩溃
    解决方法:内存泄漏需要通过代码审查和优化来修复;内存溢出可以通过调整JVM参数、优化算法或架构设计来缓解

类文件结构详解 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/bd52c77344ff402a9e172a5720fea7c3.png)

类加载

过程详解
类加载器详解(重点)
最重要的JVM参数总结
JDK监控和故障处理工具总结
JVM线上问题排查和性能调优案例
在这里插入图片描述

JMM

参考:(Java的内存模型 JMM)[https://blog.youkuaiyun.com/OTTOkongbai/article/details/144395828]

参考:
视频:黑马JVM
课程:JVM 核心技术 32 讲
课程:深入浅出 Java 虚拟机
《深入理解 Java 虚拟机》
《Java 性能权威指南》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值