gpt4 book ai didi

java - 关于字符串池的一些困惑

转载 作者:行者123 更新时间:2023-11-29 08:06:03 24 4
gpt4 key购买 nike

java 文档说:

A pool of strings, initially empty, is maintained privately by the class String.

1) 是string literals 的池还是这些string literals 的references?在网上,一些文章将其称为字符串文字池,而其他文章将其称为引用池,所以我感到困惑。

2) 字符串池是按类还是按 JVM 创建的?

3)是否有任何引用资料可以让我找到字符串池的详细信息、它的实现等?

最佳答案

1) Is it a pool of string literals or references to these string literals? on net some articles refer it as pool of strings literals while other refer it as pool of references so i got confused.

其实是一样的。您不能拥有没有引用的 String 对象,反之亦然。

而且,正如 Peter Lawrey 所说:“在 Java 中,对象在堆中。别无他处。你唯一可以在其他东西中拥有的东西,一个对象,一个数组,一个集合或堆栈,是对该对象的引用。”

2) Is string pool created per class basis or per JVM basis?

每个 JVM 都有一个字符串池……除非您使用的是某种奇特的 JVM,他们决定以不同的方式实现它。 (规范没有说必须 JVM 的一个字符串池,但这通常是最有效的方法。)

3)Is there any reference where i can find details of string pool, its implementation etc.?

您可以下载 OpenJDK 6 或 7 的完整源代码。spring pool 是用 native 代码实现的……因此您将阅读 C++。

关于java - 关于字符串池的一些困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11175411/

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