(请纠正我,如果我错了)什么启动JVM线程?
我明白,当你通过发出java命令运行Java程序,
java MyProg
程序将运行到一个新的JVM。
什么将程序加载到新的JVM中? JRE是否会产生新的线程?
如果每个程序都运行在它自己的JVM中,它们可以相互通信吗?
我之前就如何使用JMX向本地运行的java程序发送请求问了一个问题。我发现如果JMX命令在本地发布,我不需要端口号。答案是,客户端应用程序(例如jconsole,jvisualvm,jprobe等)搜索机器上运行的Java应用程序。这很好,但是考虑到客户端应用程序将运行在与想要监视或交谈的应用程序不同的JVM中,它们究竟如何彼此连接而没有端口号(因为它们不在同一个JVM上运行)?
如果两个程序正在运行,通常会有2个JVM。 JVM是否在相同的JRE流程中运行?这也意味着这两个JVM应该能够沟通?
感谢
......必须有一个标准的端口或任何其他操作特定的IPC机制(例如Unix上的命名管道或shmem)。 – ShiDoiSi 2010-11-02 13:36:33