小白秒懂什么是栈上分配

小白秒懂什么是栈上分配

在JVM中,堆内存中保存对象实例和数组,但其实有些时候,对象是不在堆内存中存储的。

我们来想一个问题:如果一个方法中的对象作用域只在这个方法中,那是否还有必要把它保存在堆中。我们都知道,堆中是会有GC垃圾回收的,这种作用域只在自己的方法中的对象在我们的程序中是有很多的,那这么多的这种类型的对象都放在堆中,岂不是会白白给GC添加负担吗?

是的,确实会有这种负担。所以我们就可以引入栈上分配这个概念了。

针对上面这种问题,有一个很好的解决方案:把这种生命周期很短的对象,我们保存在栈中,方法结束栈回收,那这些对象不就一起回收了吗,就不用GC来操刀了。这种方式就叫做栈上分配

想要开启栈上分配是有两个前提:

  • 开启逃逸分析:逃逸分析的意思就是判断对象是否逃逸出这个方法的作用范围(如果逃出了,就没法进行栈上分配了)。
    • 举个例子什么叫做逃逸出方法作用范围:
 public Cat test(){
	Cat cat = new Cat();
	return cat;    // 这就是一种逃逸
}


public void test() {
	Cat cat = new Cat();
	xx(cat);  // 这也是一种逃逸
}

public void xx(Cat cat) {} 

  • 开启标量替换:意思就是将对象根据属性打散后,分配到栈上,默认开启。
  • 13
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,我会尽力用通俗易的语言来解答你的问题。 要对接到微信,你需要做以下几件事: 1. 申请微信公众号:首先,你需要在微信公众平台(https://mp.weixin.qq.com/)上申请一个微信公众号。这样你才能拥有一个唯一的微信号,用来接收用户的信息和推送消息。 2. 开发微信公众号:然后,你需要开发一个微信公众号,也就是你的公众号的后台程序。这个后台程序是用来接收来自微信服务器的请求,并进行相应的回复。你可以使用微信提供的开发工具包(SDK)来开发你的公众号。 3. 配置接口:最后,你需要在你的公众号后台配置接口,即将你的公众号后台程序与微信服务器连接起来。这里有两个重要的接口:一个是接收消息和事件推送的接口,另一个是自定义菜单的接口。 在这个过程中,你可能还需要了解一些基础知识,比如 HTTP 协议、XML 等。如果你对这些知识不熟悉,可以先去学习一下。 希望这些信息能帮 ### 回答2: 当你想要对接到微信时,首先你需要一个智能手机,并下载并安装微信应用程序。接下来,按照以下步骤进行操作: 1. 打开微信应用程序:在你的手机屏幕上找到微信的图标,点击打开应用程序。 2. 注册微信账号:如果你还没有微信账号,点击注册按钮。输入你的手机号码,按照屏幕上的指示完成手机验证和创建密码的步骤。接着,你将需要设置一个昵称,并可以上传一个个人照片。 3. 添加好友:在微信的主页上,你会看到一个放大镜的图标,点击进入。在搜索框中输入你要添加的好友的微信号、手机号或者通过扫描对方的微信二维码。确认后,你将能够发送添加好友请求给对方。 4. 聊天与通讯:一旦你和对方成为好友,你可以发送文字、语音、图片、视频等消息。你可以在聊天界面上方的输入框中输入想要发送的内容,并点击发送按钮。你还可以通过点击右上角的加号,选择更多的发送选项。 5. 查找公众号:在微信主页上,点击“发现”按钮。在发现页面上,你会看到一个“公众号”选项,点击进入。你可以在搜索框中输入你感兴趣的公众号名称或关键词,并点击搜索按钮。找到感兴趣的公众号后,你可以点击关注。 总结起来,通过下载微信应用程序,注册微信账号,添加好友,发送消息和关注公众号等步骤,你就可以在微信上与朋友、家人和其他人进行交流和互动了。希望这些简单的步骤能够帮助你入门微信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值