zig*_*ggy 3 java jvm jconsole jvisualvm
(如果我错了,请纠正我)
我明白当你通过发出java命令运行java程序时,
java MyProg
Run Code Online (Sandbox Code Playgroud)
该程序将运行到一个新的JVM上.
是什么将程序加载到新的JVM中?它是JRE产生一个新线程吗?
如果每个程序都在自己的JVM中运行,那么它们是否可以相互通信?
我之前问了一个关于如何使用JMX向本地运行的java程序发送请求的问题.我发现如果在本地发出JMX命令,我不需要端口号.答案是客户端应用程序(例如jconsole,jvisualvm,jprobe等)搜索在机器上运行的Java应用程序.这很好,但考虑到客户端应用程序将在与要监视或通信的应用程序不同的JVM中运行,它们如何在没有端口号的情况下相互连接(因为它们不在同一个JVM上运行)?
如果两个程序正在运行,通常会有2个JVM.JVM是否在同一个JRE流程中运行?并且这也不意味着两个JVM应该能够通信吗?
谢谢