gpt4 book ai didi

java - 在 C++ 和 Java 中声明对象

转载 作者:太空狗 更新时间:2023-10-29 20:56:45 24 4
gpt4 key购买 nike

我已经使用c++一段时间了,现在正在学习java,

在 java 中声明对象让我感到困惑,

我们用java写

myclass myobject = new myclass();
myobject.mymethod();

和这段c++的代码一样吗?

myclass *myobject = new myclass();
myobject->mymethod();

也就是说,内存是在上分配的吗?如果它在堆上,为什么我们从不释放内存。我相信 new 关键字是相同的。如果是这样,我们如何在堆栈上分配内存?

最佳答案

Is it same as this code in c++ ?

是的。是一样的。

i.e is the memory getting allocated on heap?

是的。

If it is on heap why we never free the memory.

当对象不再可达时,允许其进入垃圾收集器。即当没有对该对象的有效引用或(取消引用)

If so, how do we allocate memory on stack?

当特定线程开始执行时,与该线程相关的变量将被放置在堆栈中,并在该线程的作业完成后立即被删除。每个线程都有自己的堆栈。

关于java - 在 C++ 和 Java 中声明对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32807356/

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