《深入理解java虚拟机》之内存管理

本文详细探讨了《深入理解Java虚拟机》中的内存管理部分,涵盖了堆内存、栈内存、方法区、本地方法栈以及垃圾收集机制等关键概念,旨在帮助读者深入理解Java应用程序如何在虚拟机中高效地使用内存。
摘要由CSDN通过智能技术生成
内存分区
        程序计数器(线程私有)
        Java虚拟机栈(线程私有)
        本地方法栈(线程私有)
        Java堆 (线程共享)
        方法区(线程共享)   运行时常量池

对象创建
        内存分配 
                指针碰撞(要求堆中内存规整)
                空闲列表
        内存空间初始化(不包括对象头)
        设置对象头
        执行<init>方法(程序员数据)

对象内存布局
        对象头
                对象自身运行时数据(哈希码,线程锁,GC分代年龄等)
                类型指针(确定对象是哪个类实例)
        实例数据(父类子类变量方法)
        对齐填充(对象内存必须的8字节整数倍)

对象访问定位
        句柄访问(堆上建句柄池,栈上reference存储句柄地址)(好处:对象移动时句柄地址稳定)
        直接指针访问(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值