我想知道您是否有一个jar,可以动态地加载到正在运行的程序中,那么jar中的所有内容(类,资源)是否都存储在VM内存中的某个位置?
这样,每次您需要访问类或文本资源文件时(例如,通过getClass()。getResourceAsStream),都可以将其快速从内存中拉出,而不必再次访问文件系统中的jar?即您可以在此之后删除该jar。
抱歉,如果我问的是错误的问题,请改成解释类加载器过程的问题,因为我可能会误解它,尤其是对于jar中打包的资源。谢谢你。
不,通常在您访问资源之前,不会从磁盘加载资源。
类被加载到内存中,并在首次使用后保留在内存中。资源不会在JVM或JRE级别上缓存-每次调用时getResourceAsStream
,都会从磁盘获取新的流。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句