我有一个servlet,用main方法()执行一个类,你通常可以通过命令行启动它。
在像tomcat,weblogic服务器这样的Web容器中,Web容器将有自己定义的堆空间和执行Web应用程序发送的请求的线程数。
如果我在servlet中使用main方法()启动一个类,那么分配给这个类的内存和线程是什么?
答案 0 :(得分:1)
当通过调用IQuestionInput
调用该方法时(正如您在注释中所述),您调用MyClass.main()
方法并不重要 - 它就像任何其他方法调用一样。一个这样的
main
退出之前,servlet不会继续处理。使用不是来自tomcat堆的存储的最简单方法是通过main()
生成一个新的VM进程并在那里运行你的程序。这将导致相当大的开销,因为启动VM可能需要一段时间。
如果您可以在tomcat的VM中运行,但想要与servlet处理并行执行任务,则必须实现自己的线程处理。