JVM学习之内存分配和垃圾回收

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVM学习之内存分配和垃圾回收相关的知识,希望对你有一定的参考价值。

阅读书籍:Java虚拟机精讲(仅个人阅读后总结)

根据受访权限可分为:线程共享内存区和线程私有区

线程共享区:

  1、java堆区:储存对象实例;

  2、方法区:储存 运行时常量池、字段和数据、构造函数和普通方法的字节码内容以及类、实例、接口初始化需要用到的特殊方法等数据;

  3、运行时常量池;

线程私有内存区:

  1、PC寄存器:如果当前线程所执行的方法是一个java方法,那么PC寄存器就会存储正在执行的字节码指令地址,反之如果是native方法,这是PC寄存器的值为空(undefined);

  2、java栈:储存各类原始数据类型、对象引用以及returnAddress

  3、本地方法栈:用以支持本地native方法

以上是关于JVM学习之内存分配和垃圾回收的主要内容,如果未能解决你的问题,请参考以下文章

JVM之垃圾回收概述和相关算法

JVM -- 垃圾回收

JVM学习-java垃圾回收-内存分配

深入理解JVM之垃圾回收详解

jvm学习笔记一(垃圾回收算法)

理解JVM之GC&内存分配