gpt4 book ai didi

java - 什么是对象发布,我们为什么需要它?

转载 作者:搜寻专家 更新时间:2023-10-30 19:41:08 25 4
gpt4 key购买 nike

在我的一次 Java 开发人员面试中,有人问我一个问题:

什么是对象发布,我们为什么需要它?

而且我不确定我是否知道正确答案:

我认为对象发布是将对象(变量)状态放入堆内存。线程之间共享对象(变量)需要它。

我说的对吗?如果我错了,请纠正我。我一直在搜索 Java 语言规范,但没有找到任何可以明确回答这个问题的内容。

提示问题是故意以非严格和精确的方式形成的 - 这就是问题所在。

最佳答案

您的回答非常接近。我会将对象发布定义为一个线程对另一个线程可见的对象进行引用的行为。通常,这与对象创建有关:您需要确保新创建的对象以其他线程将在初始化状态下看到的方式发布。

关于这个(以及许多其他与线程相关的问题)的经典文本是 Java Concurrency in Practice .如果你没有它的副本,并且懒得用谷歌搜索盗版 PDF,我不建议你这样做,事实上,即使你有或可以,你也应该注意强大的 CERT Oracle Secure Coding Standard for Java 的建议您Do not publish partially initialized objects .

关于java - 什么是对象发布,我们为什么需要它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8019695/

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