在我的 Swing 界面中首次打开新的 JInternalFrame 需要一些时间。根据探查器,大部分时间都花在 Classloader.loadClass() 方法上。据我所知,它会在需要时动态加载类,并且实际上,下次我打开同一框架时,它会快得多。
该应用程序有一个登录屏幕,然后在用户打开这些内部框架之一之前会出现一个空的桌面窗格。我认为,由于我有一些“停机时间”,我可以使用它在后台预加载一些常见的类,这样当用户实际打开内部框架时,速度会快得多。
除了必须通过我的面板生成“虚拟构造函数”的完整路径并实际初始化这些类的实例之外,有没有办法实现这一点?
理想情况下,如果能级联这样的加载,那就更好了。有点像ant中classfileset所做的工作
假设您没有对类加载器做任何特殊的事情,您可以调用Class.forName(String className)
对于您想要预加载的每个类。
这将在这些类中执行静态初始化程序,因此它可能会影响程序的行为(尽管我认为任何此类程序都写得很糟糕)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)