我想知道MCR中JVM(Java虚拟机)的用途是什么,如果我在-NOJVM
中调用MWApplication.initializeApplication()
标志会有什么影响?
由于我编写了一个包含GUI的Java应用程序,我尝试使用/不使用-NOJVM
选项。只有GUI的LookandFeel
发生变化。
答案 0 :(得分:6)
Matlab包含一个内部JVM,用于所有Matlab生成的GUI(图形,对话框窗口,桌面/编辑器等)。通过使用-NOJVM开关启动Matlab,您基本上使用Matlab作为纯计算引擎(引擎基于c / c ++,不使用JVM)。如果您的所有GUI都是在Matlab外部处理的,那么您可能不需要内部JVM,它会带来内存和启动性能成本。
答案 1 :(得分:-3)
我只是在猜测,因为我真的不知道Matlab,但也许它只是Matlab的一个标志,指示他使用其内部JVM或使用操作系统JVM。
例如,在“C:\ windows \ program files”下的Matlab目录中,您可能会找到一个包含Java JRE的目录,这是默认情况下使用的目录,但是如果您使用-NOJVM标志,它将忽略它内部JRE并找到系统的默认JRE,通常是环境变量JAVA_HOME指向的。
它只是一个猜测,没有别的; - )