java – 如何在启动时在JVM中预加载Web应用程序类?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 如何在启动时在JVM中预加载Web应用程序类?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1056字,纯文字阅读大概需要2分钟。
内容图文
![java – 如何在启动时在JVM中预加载Web应用程序类?](/upload/InfoBanner/zyjiaocheng/812/6ed56d7ca62b4df9ad8d200b40f9180c.jpg)
在我们的网络应用程序中,由于类加载,一些页面的第一次加载需要一些小但明显的时间.有没有人有任何聪明的方法在启动时在JVM中预加载Web应用程序类?
更新:我们现在所做的是在db表中存储一堆完整的类名(700).我们在启动时读取表并执行Class.forName().它工作正常,但我认为可能有一个更聪明的方法.我们通过使用分析器确定了在启动时引用的700个类.
解决方法:
好吧,它不是很聪明,因为它是规范的一部分,但是你可以通过在web.xml中将load-on-startup元素添加到servlet定义来启动Web App时启动servlet:
<servlet>
<description>....</description>
<display-name>....</display-name>
<servlet-name>....</servlet-name>
<servlet-class>....t</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
如果您为一组有代表性的服务执行此操作 – 或者可能只是一个可以预加载所需内容的servlet – 那么您将实现目标.
如果这还不够,如果你想从JAR文件加载类,例如,没有以有意义的方式实际初始化它们,并且如果你知道你的JAR文件在哪里或者可以找出你的JAR文件在哪里,那么你可以使用类似于this JCP forum post “List classes in package”的代码或该线程中的某些后续帖子.从类列表中,您可以获取Class对象,这将有助于加载类而无需实际实例化实例.
内容总结
以上是互联网集市为您收集整理的java – 如何在启动时在JVM中预加载Web应用程序类?全部内容,希望文章能够帮你解决java – 如何在启动时在JVM中预加载Web应用程序类?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。