JVM主要包括三块空间,分别是栈内存包括 栈内存,方法内存,堆内存
堆内存和方法区各有一个,一个线程和一个内存。
方法在调用的时候,该方法所需的内存空间在栈内存中分配叫压栈 ,方法执行结束后该所属的方法的内存空间被释放叫pop
栈内存中主要存储的是方法体中的局部变量
方法的代码片段以及整个类的代码片段,存储在方法区内存中,在类加载的时候这些片段会被载入。
在执行程序的过程中使用new运算符创建java对象,存储在堆内存中,对象内部有实例变量,所以在实例变量储存在堆内存中
变量的分类:
局部变量{方法体中}
成员变量{方法体之内}
实例变量【前面没有修饰符static】
静态变量【前面修饰符有stati】
静态变量储存在方法区内
三块内存中变换最频繁的是栈内存,最先有的数据是方法去内存,垃圾回收主要针对栈内存
垃圾回收器【自动垃圾回收机制,GC机制】什么时候考虑将某个java内存回收》?
当堆内存中的java对象称为垃圾数据的是时候
是什么时候堆内存中的java对象会变成垃圾呢
没有更对的引用指向他的时候
这个对象无法被访问的时候,因为访问堆中的对象只能通过引用的方式
jvm的内存管理
最新推荐文章于 2024-09-14 16:09:57 发布
本文介绍了Java内存的三个主要区域:栈内存、方法区和堆内存。详细阐述了栈内存如何进行方法调用时的内存分配和释放,以及方法区和堆内存的用途。堆内存用于存储对象,当对象没有引用指向它时,被视为垃圾数据,由垃圾回收器进行回收。垃圾回收机制主要关注堆内存中的对象,当对象不可访问时启动回收。局部变量、成员变量和静态变量的存储位置也在文中有所说明。
摘要由CSDN通过智能技术生成