JVM内存模型

初级程序员掌握

1、JVM内存模型

      1)线程数据共享:方法区(常量池)、堆

        方法区:类信息(字段、方法、接口)、静态变量、常量池

        堆:对象实例数据(GC管理主要啊区域)

        对象的定位访问:句柄访问与直接方法

      2)非线程数据共享:虚拟机栈、本地方法栈(native)、程序计数器

        虚拟机栈:基本数据类型、引用变量、(每个方法从调用到执行完成的过程,对应一个栈帧在虚拟机栈中入栈到出栈的过程)

        本地方法区栈:与虚拟机栈类似,虚拟机为java方法(字节码服务),本地方法栈为native方法服务

        程序计数器:存储不同线程的字节码指令数

        


2、垃圾收集器与内存分配策略

      前沿:三个问题

        1)哪些内存需要回收?

            

        虚拟机栈、本地方法啊栈、程序计数器生命周期随线程,栈中的栈帧随方法的进入退出进行入栈出栈的操作,栈帧中的内存在类结构确定下来的时候就已知,也就是在编译时期就确定了。

        堆和方法区的在运行时期确定,内存动态分配,垃圾回收期关心这部分的内存。

        2)什么时候回收?

        

        3)如何回收?


        

3、加加载器相关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值