我的问题是,JVM什么时候加载项目中的所有类?另外,为什么我们需要类加载器的概念.
如果您能给我一个使用类加载器的情况以及为什么在这种情况下使用类加载器的例子,我会很高兴.
解决方法
when does JVM load all the classes in the project.
JVM或多或少地“按需”加载类.即运行时的所有类通常不会在启动时加载.
有关此主题的详细信息,请参阅这些URL:
> JavaRanch: When is a class loaded?
> The Basics of Java Class Loaders
why do we need the notion of a class loader
类加载器允许我们从各种来源加载类.
>磁盘上的jar文件
>运行时生成的字节数组
>来自Internet(这是applet的典型用例)
这使得应用程序的启动更加灵活和模块化.
give me a example with situation where you use class loader and why you use class loader there.
如果没有类加载器,您将无法走得太远,所以我将您的问题解释为“何时需要自定义类加载器”.
我个人使用字节码操作库(ASM)进行了一些实验,在那里我用get-和set-method调用替换了字段访问.我使用自定义类加载器在加载类时重写它们.我不知道这是否是一个典型的用例,但重点是没有一个我不可能做到这一点!