JVM 在加载特定类时是否会加载所有使用过的类?

发布于 2024-11-02 08:09:00 字数 85 浏览 1 评论 0原文

当 JVM 加载类 A 时,它是否加载 A 中使用的所有类?
我想知道导入声明是否对加载过程有影响?

与 JLS 的链接将不胜感激。

When JVM loads a class A, does it load all of the classes used within A?
And I'm wondering if import declarations are matter somehow to the loading process?

The link to JLS would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

多情出卖 2024-11-09 08:09:00

导入和类加载是不相关的。前者只是节省了输入:它允许您在代码中使用短类名而不是完全解析的类名。

类在第一次使用时由 JVM 加载时间。

Import and class loading are unrelated. The former just saves typing: it allows you to use the short class name rather than the fully-resolved class name in your code.

Classes are loaded by the JVM when they're used for the first time.

╭⌒浅淡时光〆 2024-11-09 08:09:00

import 只是帮助程序员。编译类文件时,变量的限定名称存储在 .class 文件中,以便 JVM 知道它需要加载什么。

http://java.sun.com/docs /books/jvms/second_edition/html/Concepts.doc.html#21410
第2.17.1节“虚拟机启动”

import merely helps the programmer. When the class file is compiled the Qualified Name of the variables is stored in the .class file so the JVM knows what it needs to load.

http://java.sun.com/docs/books/jvms/second_edition/html/Concepts.doc.html#21410
section 2.17.1 "Virtual Machine Start-up"

我不是你的备胎 2024-11-09 08:09:00

导入类是用户和编译器的标记。使用 import 不会加载类。 JVM 仅在引用类时才加载类,如果不需要这些类,则该类不会在编译时或运行时加载它。

Importing a class is marker for the user and the compiler. Using import does not load classes. JVM loads class only when it referenced and if the classes are not required then the class does not load it on compile time or runtime.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文