2010-01-30 152 views
3

我想找出什么是在MCR的JVM(Java虚拟机)的目的是什么效果,如果我调用-NOJVM标志MWApplication.initializeApplication()MATLAB编译器运行时(MCR)中的JVM有什么作用?

正如我写这包含GUI的Java应用程序,和我想有/无-NOJVM选项。只有GUI的LookandFeel发生变化。

回答

6

Matlab的内部包含的JVM,这是用于所有Matlab的生成GUI(图形,对话窗口,桌面/编辑器等)。通过使用-NOJVM开关启动Matlab,基本上使用Matlab作为纯粹的计算引擎(该引擎基于c/C++并且不使用JVM)。如果所有的GUI都是通过Matlab外部处理的,那么也许你不需要内部的JVM,它带有内存和启动性能成本。

+0

如果你想使您的MCR独立的应用程序使用外部JVM是什么? (与使用MATLAB在机器上设置MATLAB_JAVA环境变量的效果相同)。那可能吗? – Stav 2016-06-01 20:49:48

-3

我只是猜测,因为我真的不知道Matlab,但也许它只是一个标志为Matlab指示他使用其内部JVM或使用操作系统JVM。

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

它只是一种猜测,并没有别的;-)