首页 > 系统相关 >jvm垃圾回收及内存模型

jvm垃圾回收及内存模型

时间:2023-06-14 18:22:28浏览次数:68  
标签:垃圾 Java 博客 区域 回收 jvm 内存

1、了解垃圾回收之前,必须先了解内存模型

 2、垃圾回收区域

   a、 首先要标记垃圾,找出垃圾

 

 

 b、Java垃圾回收(一)_java 垃圾回收_头发慢点掉的小马的博客-CSDN博客

 

垃圾回收器

 

 

 

方法区不需要连续的内存,可以选择固定大小或者可扩展。并且还可以选择不实现垃圾收集。
相对而言,垃圾收集行为在这个区域是比较少出现的,但并非数据进入了方法区就如永久代的名字一样“永久”存在了。
这个区域的内存回收目标主要是针对常量池的回收和对类型的卸载,一般来说这个区域的回收“成绩”比较难以令人满意,尤其是类型的卸载,条件相当苛刻,
但是这部分区域的回收确实是有必要的。当方法区无法满足内存分配需求时,将抛出OutOfMemoryError异常。

Java垃圾回收(一)_java 垃圾回收_头发慢点掉的小马的博客-CSDN博客

标签:垃圾,Java,博客,区域,回收,jvm,内存
From: https://www.cnblogs.com/xiaoroubao/p/17480780.html

相关文章

  • 配置云主机swap虚拟内存
    配置云主机虚拟内存:ddif=/dev/zeroof=/mnt/swapbs=block_sizecount=number_of_blockddif=/dev/zeroof=/mnt/swapbs=1Mcount=8192mkswap/mnt/swapswapon/mnt/swapvi/etc/fstab/mnt/swapswapswapdefaults00vi/etc/sysctl.confvm.swappiness=60sysctl-p swa......
  • java开发C语言编译器:jvm的return指令以及局部变量的操作
    jvm运行字节码时,代码的运行必须围绕两种数据结构,一种是堆栈,一种是队列,如果jvm执行某条指令时,该指令需要对数据进行操作,那么被操作的数据在指令执行前,必须要压倒堆栈上。如果堆栈上的数据需要暂时保持起来时,它就会被加载到局部变量队列上。java代码中,每个方法里面的局部变量包括函数......
  • java开发系统内核:应用程序与系统内核的内存隔离
    当前,我们可以开发运行在系统上的应用程序了,接下来的问题是如何保护系统内核免受恶意应用程序的危害。恶意程序要想侵犯系统,主要路径有两条,一是让内核执行它的代码,而是修改内核数据,通过修改数据改变内核的行为。我们看看,如何预防恶意程序侵入到系统内核的数据区域中。无论是内核还是......
  • java开发C语言编译器:JVM 的基本操作指令介绍及其程序运行原理
    更详细的讲解和代码调试演示过程,请参看视频用java开发C语言编译器更详细的讲解和代码调试演示过程,请参看视频如何进入google,算法面试技能全面提升指南如果你对机器学习感兴趣,请参看一下链接:机器学习:神经网络导论更详细的讲解和代码调试演示过程,请参看视频LinuxkernelHacker,......
  • 动态内存分配
    栈区:局部变量 函数的形式参数堆区:动态内存分配 malloc,free,calloc,realloc静态区:全局变量,静态变量,statint#include<stdlib.h>   malloc,free的头文件返回类型void*向内存申请空间malloc开辟空间 malloc(空间大小值 * sizeof())当动态申请的空间不再使用的时候 ......
  • C语言编程—内存管理
    C语言中的动态内存管理。C语言为内存的分配和管理提供了几个函数。这些函数可以在<stdlib.h>头文件中找到。在C语言中,内存是通过指针变量来管理的。指针是一个变量,它存储了一个内存地址,这个内存地址可以指向任何数据类型的变量,包括整数、浮点数、字符和数组等。C语言提供了一些函......
  • 常见的JVM调优方法有哪些?可以具体到调整哪个参数,调成什么值?
    调优工具console,jProfile,VisualVM Dump线程详细信息:查看线程内部运行情况死锁检查查看堆内类、对象信息查看:数量、类型等线程监控线程信息监控:系统线程数量。线程状态监控:各个线程都处在什么样的状态下热点分析CPU热点:检查系统哪些方法占用的大量CPU时间内存热点:检查哪些对......
  • 浅聊一下 C#程序的 内存映射文件 玩法
    一:背景1.讲故事前段时间训练营里有朋友问内存映射文件是怎么玩的?说实话这东西理论我相信很多朋友都知道,就是将文件映射到进程的虚拟地址,说起来很容易,那如何让大家眼见为实呢?可能会难倒很多人,所以这篇我以自己的认知尝试让大家眼见为实。二:如何眼见为实1.我想象的文件映射......
  • ionic3打包内存溢出解决方法
    ionic3打包遇到报错aheadoutofmemorylimits,就是常见的node内存溢出问题,原因是由于node引擎在64位操作系统下内存限制(大小为1.4G)如果超出就会报内存泄漏错误。解决方法:1.全局安装increase-memory-limit插件项目目录控制台中输入:sudonpminstall-gincrease-memory-limit......
  • java垃圾回收(GC)机制
    一、为什么要进行垃圾回收?因为内存的容量是有限的。二、如果判断一个对象需要回收?1、引用计数算法:给每个对象中加一个引用计数器。每增加一个引用,计数器就+1。当计数器为0时,代表没有引用。因为有循环引用的存在,所以java虚拟机不再使用引用计数算法。2、可达性分析算法:通过GCR......