如何解决每个创建的类或仅一次将库导入/加载到内存中
仍在学习基础知识,但我只是有一个关于库、类和内存的问题。
假设,假设我有 3 个班级。主、子和子子。
Main 创建多个子类,child 创建多个子子类。如果我在子子级中有一个导入库,它是为每个子子级创建的每个子子级多次加载库,还是只将其加载到内存中一次?我认为后者是理想和明智的做法,但你不能确定,所以我在这里试图解决这个问题。
在 Netbeans 中使用 Java。
解决方法
Main 创建多个子类
这是不正确的。或者至少,非常值得怀疑。在 Java 代码中创建新的类涉及调用 someClassLoader.defineClass(byteCode)
,并拥有一个字节码生成器库。毫无疑问,这不是你所拥有的。
也许您的意思是:“我的 Main 类中的代码将实例化几个不同的类”。
如果我在子孩子中有一个导入库
这是误导。在 Java 中,import
并不意味着“获取此代码并运行它”。这是一个别名。 import java.io.File;
表示:“每当我在此源代码文件中提到简单标识符“文件”并且它处于需要类型的位置时,假设我打算改写“java.io.File””。
import 语句不运行任何代码,如果您导入一个类,而您在源文件中从未使用过,那么在生成的类文件中,此 import 语句绝对没有任何剩余。绝对没有任何区别。您不需要在运行时导入但从未使用过的类。
是否加载库
由于您对术语的困惑,我真的不知道您在问什么,但是无论您想添加多少警告,这个问题的答案总是:“最多一次”,除非有多个类加载器涉及(这是您必须明确编码的事情。类路径上的多个条目并不意味着“多个类加载器”。这只是意味着“将从磁盘上的多个位置加载的单个类加载器”。如果您明确添加一堆类加载器基础结构到您的应用程序,您会知道)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。