当前位置: 首页 > 面试题库 >

Custom Class Loader的用途是什么

林子石
2023-03-14
问题内容

最近,我遇到了java自定义类加载器api。我在这里发现了一个用处,kamranzafar的博客
对于类加载器的概念我有点陌生。谁能详细解释一下,在什么情况下我们可能需要或应该使用它?


问题答案:

自定义类加载器在包含多个模块/应用程序的大型体系结构中很有用。这是自定义类加载器的优点:

  • 提供模块化体系结构 允许定义允许模块化体系结构的多个类加载器。
  • 避免冲突 明确将类的范围定义为类加载器之内。
  • 支持版本控制 支持同一VM中不同模块的类的不同版本。
  • 更好的内存管理 可以删除未使用的模块,以卸载该模块使用的类,从而清理内存。
  • 从任何地方 加载类可以 从任何地方加载类例如,数据库,网络,甚至可以随时对其进行定义
  • 动态添加资源或类 上述所有功能均允许您动态添加类或资源。
  • 运行时重新加载修改后的类 允许您通过将子类加载器创建到包含修改后的类的实际类加载器来重新加载一个或多个类的运行时。


 类似资料:
  • 问题内容: 我不了解Java的这一功能。我知道它使编码更容易,有时看起来更整洁,但这的实际用途是什么?相反,我觉得最好显示警告,因为将来任何人在修改代码之前都可以引用它们。这@SuppressWarnings是否提高了编译效率,还是根据任何编码标准? 问题答案: 其他答案已经解释了很多用例,但是我想强调一点, 有时您绝对需要使用它来克服语言本身的局限性,在这些情况下,使用绝对是合法的。 在其他情况

  • 问题内容: java中有什么用? 请解释一下。 问题答案: 可能这个例子会帮助您。

  • 本文向大家介绍sinon.js的用途是什么?,包括了sinon.js的用途是什么?的使用技巧和注意事项,需要的朋友参考一下 SinonJS提供独立的测试间谍,存根和模拟。这是一个我们可以用来创建用于单元测试的对象模拟的库。 间谍-可以用来追踪执行情况的伪造函数。 存根-函数替换,我们可以从中返回所需的内容或使我们的函数以适合我们测试多个场景的方式工作。 嘲笑-假方法 所有这些对象都有助于对我们的代

  • 我试图理解何时应该使用stdio函数。 例如,如果我对有效的执行或,并得到一个短计数,并且为真,我该怎么办? 从我到目前为止所读到的,和是健壮的,并且会阻止和/或重试(如果有锁和/或中断可能发生在较低级别的函数中),所以使用<代码>clearerr()因为或错误将是如此灾难性,以至于没有必要尝试恢复。 另外,只告诉我有错误,而不是错误是什么。

  • 问题内容: 我碰巧看到一个有风格的!in有什么用? 问题答案: 使元素下降到文档中位于其之前的所有浮动元素之下。 您也可以使用或使其仅落在向左或向右浮动的那些元素下方。

  • 问题内容: 我最近遇到了一个由于数据库创建脚本中的输入错误而导致的问题,即在数据库中创建了而不是的列。 我以为0长度字符串字段会出错,但是我没有。无论如何,或者我将无法在此列中存储任何数据的目的是什么。 问题答案: 根据SQL-92标准不允许,但在MySQL中允许。从MySQL手册: MySQL允许您创建type的列。这主要在您必须与依赖于列存在但实际上不使用其值的旧应用程序兼容时很有用。当您需要

  • 问题内容: 我对Bash脚本非常陌生,有人可以向我解释$#和$的情况吗?在以下代码中工作? 问题答案: 在Y分钟内来自Learn Bash :

  • 问题内容: 我编写了一个脚本,该脚本具有多个线程(用创建),该线程从using中获取URL ,然后处理HTML。我是多线程编程的新手,无法理解该函数的用途。 当为空时,它将自动返回异常。所以我不明白每个线程都需要调用该函数。我们知道当队列为空时我们已经完成了队列,所以为什么我们需要通知它工作线程已完成工作(与队列无关,因为他们从队列中获得了URL) ? 有人可以给我提供一个代码示例(理想情况下使用