gpt4 book ai didi

java - 一个Java包中可以放多少个类?

转载 作者:行者123 更新时间:2023-12-04 10:48:04 26 4
gpt4 key购买 nike

可以放入 Java 包中的 Java 类(公共(public)和非公共(public))的数量是否有限制?

最佳答案

tl; dr:该值取决于实现,因为它没有在 JVM 或 Java 规范中的任何地方定义。

实际上,它可能介于 maxUint16 和 maxUint64 之间。

由于 JVM 的性质,存在许多限制,但类和包计数不是其中之一。

我发现 Java 规范中的这句话在这种情况下是值得的 (source 7.2):

For example, a system that uses a database to store packages may not enforce a maximum of one public class or interface per compilation unit.



它确实鼓励 JVM 实现避免这种限制,即使它使用文件系统以外的东西来存储包和类等编译工件。

正如对您问题的评论之一所述,可能存在技术限制,但对于大多数用例来说,它们可能已经足够高了。根据您使用的实现,它也可能有很大差异。话虽如此,您可能可以毫无问题地拥有数百万个包和类。

为了完整性和可访问性,我将在此处内联@Holger 评论:

There is no limit in the specification, so you can put classes into the package until hitting a technical limitation. If not hitting a limit at the file system or archive format, the runtime implementation likely uses arrays or collections to hold the classes, which limits the number to something close to 2³¹. You may hit memory limitations before…

关于java - 一个Java包中可以放多少个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45316463/

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