JAVA内存的一些总结(二) 对象访问

本文深入探讨了Java中对象访问的机制,包括栈、堆和方法区的作用,以及句柄访问和引用访问的原理与优缺点。

原博客地址:http://www.solr.cc/blog/?p=242

今天说说 java的对象访问.

对象访问会涉及到 栈、堆、方法区这三个内存区域。对象访问主要有两种:句柄访问和指针放访问。

上图(源于网络):

1348658605_5211

1348659242_7055

前面我们分析过内存各部分的功能,栈中存放的是变量表,堆中存放对象实例,方法去存放类信息(如类名 父类 接口实现等)。这样从两个图中不难发现访问对象的流程是一致 都是通过栈中对象的引用到堆中寻找实例,实例又需要到方法区中找到类的基本信息。两者不同的地方在于堆的处理上。

通过句柄进行访问:将堆又划分为两个区域句柄区和实例区,栈中的reference指向句柄区的句柄,句柄我们可以理解为存放两个指针的结构体。一个存储实例区的地址,一个指向方法区的地址。

通过引用访问:栈中reference直接指向实例对象,实例对象中直接记录方法区中的地址。

优缺点:通用JDK使用的是通过引用直接访问的方式,优点就是访问性能高(比句柄访问少一次寻址),缺点就是对象迁移(拷贝)频繁,在垃圾回收过程中消耗更多的资源。


01、数据简介 出口韧性是地级市在面对外部震荡和压力时,能够承受并迅速适应、应对变化的能力。这种能力体现在地级市经济结构的灵活性、创新能力和竞争力,以及地方政府的政策支持和产业调整能力等多个方面。 城市出口韧性对于城市的经济发展、就业稳定、国际贸易地位以及风险抵御能力等方面都具有重要影响。因此,城市应加强出口韧性的建设,提高应对外部冲击的能力,以推动其经济的可持续发展。 数据名称:地级市-城市出口韧性数据 数据年份:2011-2022年 02、相关数据 代码 年份 地区 城市 省份 城市出口韧性 距离港口的最近距离 最终进口额_百万人民币2 最终出口额_百万人民币2 人均道路面积2 年末金融机构各项贷款余额万元2 地区生产总万元2 科学支出万元2 地方财政一般预算内支出万元2 城镇居民人均可支配收入元2 固定资产投资2 实际使用外商投资额百万美元2 城镇化率2 外贸依存度 出口贸易 年平均汇率 实际使用外商投资额百万人民币2 外资依存度 金融发展水平 财政投资力度 科学技术水平 出口偏离度 x_地区生产总万元2 x_城镇化率2 x_人均道路面积2 x_外贸依存度 x_出口贸易 x_出口偏离度 x_金融发展水平 x_城镇居民人均可支配收入元2 x_财政投资力度 x_科学技术水平 x_距离港口的最近距离 x_外资依存度 地区生产总万元2_sum y_地区生产总万元2 城镇化率2_sum y_城镇化率2 人均道路面积2_sum y_人均道路面积2 外贸依存度_sum y_外贸依存度 出口贸易_sum y_出口贸易 出口偏离度_sum y_出口偏离度 金融发展水平_sum y_金融发展水平 城镇居民人均可支配收入元2_sum y_城镇居民人均可支配收入元2 财政投资力度_sum y_财政投资力度 科学技术水平_sum y_科学技术水平
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值