【JVM】三、对象的存储策略(栈上分配和TLAB)

本文介绍了JVM中对象的存储策略,包括内存分配流程、栈上分配的条件与优势、TLAB(Thread Local Allocation Buffer)的工作原理以及对象直接进入老年代的情况。栈上分配依赖于对象的大小、逃逸分析和标量替换,而TLAB则减少了线程间内存分配的竞争,提高系统性能。
摘要由CSDN通过智能技术生成

一、内存分配流程

我们都知道对象是存储在堆里的,但对象是不是只能存储在堆里呢?答案是否定的,事实上JVM在new一个对象的时候,有一套专门的存储策略来决定这个对象应该被放在哪。简单点说,在JVM里,对象不仅仅会被存储在堆里,也可能被存储在栈上。

这里先直接给一个流程图,来简单直观的说明JVM分配对象时的具体策略:
在这里插入图片描述

然后我们再以下面的代码为例,结合流程图,逐步的来探讨JVM在创建Person对象的时候都有哪些操作。

public void test(){
   
    Person p = new Person();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值