gpt4 book ai didi

java - 这是java能做而c不能做的事情吗?

转载 作者:行者123 更新时间:2023-12-01 19:31:37 24 4
gpt4 key购买 nike

当我们在Java中使用动态数组如a = new int[n]时,n是传入方法的参数,Java是否可以使用转义分析和在堆栈而不是堆上分配这个动态长度数组? c 可以这样做吗?我的意思是C可以在堆栈上分配动态长度数组还是必须在堆栈上?这就是Java比C更好的地方吗?

最佳答案

理论上 Java可以在运行时决定是否在堆栈上分配(基于逃逸分析以及所需的分配是否低于特定阈值)或在堆上分配。

但这只是理论上的。要检查您的 JVM 是否针对非常量值进行了此优化,您可以按照以下 SO answer 中建议的测试进行操作。为了 another question on Escape Analysis in Java .

关于java - 这是java能做而c不能做的事情吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59660199/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com