Java MATLAB编译器运行时(MCR)中的JVM做什么?

Java MATLAB编译器运行时(MCR)中的JVM做什么?,java,matlab,Java,Matlab,我想了解MCR中JVM(Java虚拟机)的用途,以及调用MWApplication.initializeApplication()中的-NOJVM标志的效果 因为我已经编写了一个包含GUI的Java应用程序,我尝试了使用/不使用-NOJVM选项。而且只有GUI的外观和感觉发生了变化。我只是猜测,因为我真的不懂Matlab,但可能这只是Matlab的一个标志,指示他使用其内部JVM或操作系统JVM 例如,在“C:\windows\program files”下的Matlab目录中,您可能会找到一个

我想了解MCR中JVM(Java虚拟机)的用途,以及调用
MWApplication.initializeApplication()中的
-NOJVM
标志的效果


因为我已经编写了一个包含GUI的Java应用程序,我尝试了使用/不使用
-NOJVM
选项。而且只有GUI的外观和感觉发生了变化。

我只是猜测,因为我真的不懂Matlab,但可能这只是Matlab的一个标志,指示他使用其内部JVM或操作系统JVM

例如,在“C:\windows\program files”下的Matlab目录中,您可能会找到一个包含Java的JRE的目录,这是默认使用的目录,但是如果使用-NOJVM标志,它将忽略其内部JRE,并查找系统的默认JRE,这通常是环境变量Java_HOME指向的


这只是猜测而已;-)

Matlab包含一个内部JVM,用于所有Matlab生成的GUI(图形、对话框窗口、桌面/编辑器等)。通过使用-NOJVM开关启动Matlab,您基本上将Matlab作为一个纯计算引擎使用(该引擎基于c/c++,不使用JVM)。如果您的所有GUI都在Matlab外部处理,那么您可能不需要内部JVM,因为它会带来内存和启动性能成本。

如果您想让MCR独立应用程序使用外部JVM,该怎么办?(与使用MATLAB在机器上设置MATLAB_JAVA环境变量的效果相同)。可能吗?