自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 Jvm GC(垃圾回收机制)中的引用计数法

引用计数法是一种简单的垃圾回收算法,通过为每个对象维护一个“引用计数器”来追踪有多少其他对象引用了它。如果一个对象的引用计数为 0(也就是说,没有任何对象在使用它),那它就可以被回收了。🗑️引用计数法是一种简单的垃圾回收算法,它通过追踪对象的引用数量来判断是否可以回收。虽然它能即时回收内存,但循环引用是它的致命弱点,导致某些情况下无法正常释放内存。

2024-09-28 13:47:58 271

原创 Jvm 使用JProfiler工具分析OOM原因

是 JVM 在堆内存不足时抛出的错误。通常,当程序创建了过多的对象而 JVM 的堆空间无法满足时,会出现此错误。这类错误可能由于内存泄漏、内存分配不合理或者对象过多造成的内存压力引发。使用JProfiler可以帮助你非常细致地分析的原因,包括查看内存使用情况、捕获堆快照、分析占用大量内存的对象以及找到内存泄漏的根源。通过这些分析,你可以优化代码或调整 JVM 的内存参数来解决问题。💡🔧希望这些步骤能够帮助你在实际项目中排查和解决 OOM 问题!如果你有其他问题,随时继续问我!

2024-09-28 13:44:53 290

原创 Jvm 之 新生区、永久区 和 堆内存调优

新生区是 JVM 堆内存的一部分,用于存储短期存活的对象,它包括 Eden 区和 Survivor 区。对象在新生区存活后才会被移到老年代。永久区(Java 8 之前)存储类的元数据,后来被更灵活的元空间替代,避免了内存不足的问题。堆内存调优是为了优化 JVM 的内存使用,避免内存不足和性能下降。通过调整堆大小、新生代大小和监控垃圾回收,可以提升程序性能。

2024-09-28 13:38:37 211

原创 Jvm核心:栈、HotSpot 和 堆

栈(Stack):用于管理方法调用和局部变量。每个线程都有自己的栈,栈是后进先出的结构。:最常用的 JVM,它通过热点探测和即时编译(JIT)来优化程序性能,具备强大的垃圾回收机制。堆(Heap):用于存储所有的对象和数组,堆是由垃圾回收器自动管理的,分为新生代和老年代。

2024-09-28 13:26:53 298

原创 Jvm之 Native(本地方法) 和 方法区(Method Area)

虽然你主要用自己的工具做饭(Java 代码),但偶尔你需要借助邻居的设备(Native 方法)来搞定一些特定的任务。在 Java 中的意思就是“本地方法”,也就是非 Java 语言写的代码,通常是用 C 或 C++ 等语言编写的。每个类就像是超市里的商品,方法区就负责把这些“商品”(类和它们的信息)整齐地放在货架上,方便 JVM 在需要的时候随时“拿取”。是 JVM 内存结构的一部分,负责存储类的信息。JNI 是 Java 和其他语言之间的桥梁,它允许你在 Java 中调用其他语言编写的代码。

2024-09-28 13:20:15 617

原创 Jvm沙箱安全机制

简单来说,沙箱安全机制是一种限制 Java 程序执行权限的机制,特别是当程序是从不受信任的来源下载时。它通过限制程序的权限,确保它只能执行受限的操作,无法访问关键的系统资源,比如文件系统、网络或其他敏感数据。沙箱安全机制是 Java 的一项重要功能,特别是在处理来自不受信任来源的代码时,它可以防止恶意代码破坏用户的系统。核心组件:沙箱机制主要通过类加载器安全管理器和权限类实现。简单示例:我们通过代码展示了如何使用来阻止对文件系统的访问,这展示了沙箱机制如何保护系统资源。

2024-09-28 13:15:24 321

原创 JVM的体系结构、类加载器及双亲委派机制

类加载器:它是 JVM 中的搬运员,负责把类文件(Java 类)加载进来。双亲委派机制:它确保每个类加载器不会直接加载类,而是先让“父母”类加载器尝试加载,避免重复或篡改类。

2024-09-28 13:09:03 474

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除