JVM
文章平均质量分 88
澡澡洗澡澡
菜鸡一枚
展开
-
一文彻底搞懂OOM内存溢出问题
OOM是Out Of Memory的缩写。即内存溢出。OOM通常是由于程序消耗的内存超过了系统实际可用的内存资源,或者是内存泄漏导致的。OOM错误会导致程序异常终止,通常会在日志或控制台中输出相关错误信息,包括堆栈跟踪等,以便开发人员进行排查和修复。解决OOM问题通常需要对程序进行内存使用情况的分析,优化代码逻辑,释放不必要的内存资源,增加系统内存配置等措施。原创 2024-03-09 19:29:24 · 1290 阅读 · 0 评论 -
一文彻底搞懂JVM垃圾回收机制
CMS 使用的是标记-清除的算法实现的,所以在 gc 的时候回产生大量的内存碎片,当剩余内存不能满足程序运行要求时,系统将会出现 Concurrent Mode Failure,临时 CMS 会采用 Serial Old 回收器进行垃圾清除,此时的性能将会被降低。在做 Java 开发的过程中,我们会不断地创建很多的对象,这些对象数据会占用系统内存,如果得不到有效的管理,内存的占用会越来越多,甚至会出现内存溢出的情况,所以,我们需要进行对内存进行合理地释放,这个时候 GC 就派上大用场的。原创 2024-01-28 23:59:30 · 896 阅读 · 0 评论 -
一文彻底搞懂JVM参数配置
JVM(Java虚拟机)参数配置是指在启动Java应用程序时,可以通过设置一系列参数来调整JVM的行为和性能。这些参数可以影响内存管理、垃圾回收、线程管理、类加载等方面。原创 2024-02-29 10:32:30 · 802 阅读 · 0 评论 -
一文彻底搞懂八种JVM垃圾回收器
随着硬件技术的发展,可用内存越来越大,这为应用程序提供了更多的内存空间,从而能够创建更多的对象,减少了垃圾收集的频率。ZGC 的出现为 Java 应用提供了一种更加高效、可预测的垃圾回收解决方案,与传统的垃圾回收器相比,ZGC 的主要目标是实现极低的垃圾回收停顿时间,使得 Java 应用能够以更可预测的方式运行,尤其在大内存堆上表现良好。在这种场景下,传统的垃圾回收器可能会面临长时间的停顿,影响应用的响应性和用户体验,而 ZGC 能够有效地缓解这一问题,保持较低的停顿时间,从而确保应用的流畅运行。原创 2024-02-23 11:41:38 · 1722 阅读 · 0 评论 -
一文彻底搞懂JVM垃圾回收算法
在java中,程序员是不需要显示的去释放一个对象的内存的,而是由虚拟机自行执行。在JVM中,有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前堆内存不足时,才会触发执行,扫描那些没有被任何引用的对象,并将它们添加到要回收的集合中,进行回收。原创 2024-02-22 10:58:14 · 965 阅读 · 0 评论 -
一文彻底搞懂Java对象什么时候被垃圾器回收
如果一个或多个对象没有任何的引用指向它了,那么这个对象现在就是垃圾,如果定位了垃圾,则有可能会被垃圾回收器回收。如果要定位什么是垃圾,有两种方式来确定,第一个是引用计数法,第二个是可达性分析算法。原创 2024-02-21 12:02:22 · 1521 阅读 · 0 评论 -
一文彻底搞懂JVM内存模型
JVM内存模型是指JVM规范中定义的Java程序内存访问规则。它规定了线程之间如何共享和访问内存中的数据。原创 2024-02-12 17:58:21 · 404 阅读 · 0 评论 -
一文彻底搞懂什么是类加载器
在Java中,类加载器(Class Loader)是Java虚拟机(JVM)的重要组成部分,JVM只会运行二进制文件,而类加载器(ClassLoader)的主要作用就是从文件系统、网络等地方加载Java类文件到内存,并在运行时动态链接和验证这些类。类加载器负责加载Java字节码文件,并将其转换为可执行的Java类或接口。现有的类加载器基本上都是java.lang.ClassLoader的子类,该类的只要职责就是用于将指定的类找到或生成对应的字节码文件,同时类加载器还会负责加载程序所需要的资源。原创 2024-02-19 11:50:47 · 1033 阅读 · 0 评论 -
一文彻底搞懂JVM内存结构
JVM在执行程序的过程中会将内存划分为五个不同的数据区域:虚拟机栈、本地方法栈、方法区、堆、程序计数器。JVM五个区中**虚拟机栈、本地方法栈、程序计数器为线程私有,方法区和堆为线程共享区。JVM不同区域的占用内存大小不同,一般情况下堆最大,用来存放”对象“,程序计数器较小。原创 2024-02-20 17:19:25 · 1181 阅读 · 0 评论