如何知道我的程序运行在哪个JVM中?

时间:2011-12-26 11:07:53

标签: java jvm

嗨,朋友们,             我对JVM有点困惑。首先我想知道是每个java程序(进程)             在单独的JVM或同一JVM中运行

例如,我正在运行两个名为ABC和DEF的项目,它们都是以自己的方式开始的 主要方法。第一个项目有类Test1(主类),第二个项目有Test2(主类)。现在我试图通过启动第二个项目来获取第一个项目的一些信息来说Hashtable大小,但是当我在第二个项目中查询Hashtable(第一个项目)的大小时,它的大小在开始第一个项目之前显示为零已经为Hashtable添加了四个元素。 任何人都可以形容我为什么会这样。 我在想所有的java进程都在自己的JVM中运行。我对吗! 如果是,那么我如何在同一个JVM中运行两个不同的java进程。 感谢您的期待。

2 个答案:

答案 0 :(得分:0)

您可以在同一JVM或不同的JVM中运行两个main方法。但是,除非您的集合是完全相同的对象或您正在使用分布式集合,否则它们将是两个独立的集合。

如果您希望这两段代码更改集合,那么最简单的解决方案就是拥有一个程序。

答案 1 :(得分:0)

嗯,这取决于你是如何实现这种行为的,在我看来你试图在应用程序之间共享对象。我不是这方面的专家,但你可以在这里转过来:

在这里,他们使用JNDI approach,我认为它更简单,可以指导你完成你想做的事情,我喜欢这个结论:

  

通过构建序列化和持久性的基础,JNDIHashtable可以让您在对象持久性领域获得更多灵活性。您无需将对象映射到数据库表或通过CORBA或EJB托管它们。由于对象是远程存储的,