嗨,朋友们, 我对JVM有点困惑。首先我想知道是每个java程序(进程) 在单独的JVM或同一JVM中运行
例如,我正在运行两个名为ABC和DEF的项目,它们都是以自己的方式开始的 主要方法。第一个项目有类Test1(主类),第二个项目有Test2(主类)。现在我试图通过启动第二个项目来获取第一个项目的一些信息来说Hashtable大小,但是当我在第二个项目中查询Hashtable(第一个项目)的大小时,它的大小在开始第一个项目之前显示为零已经为Hashtable添加了四个元素。 任何人都可以形容我为什么会这样。 我在想所有的java进程都在自己的JVM中运行。我对吗! 如果是,那么我如何在同一个JVM中运行两个不同的java进程。 感谢您的期待。
答案 0 :(得分:0)
您可以在同一JVM或不同的JVM中运行两个main
方法。但是,除非您的集合是完全相同的对象或您正在使用分布式集合,否则它们将是两个独立的集合。
如果您希望这两段代码更改集合,那么最简单的解决方案就是拥有一个程序。
答案 1 :(得分:0)
嗯,这取决于你是如何实现这种行为的,在我看来你试图在应用程序之间共享对象。我不是这方面的专家,但你可以在这里转过来:
在这里,他们使用JNDI approach,我认为它更简单,可以指导你完成你想做的事情,我喜欢这个结论:
通过构建序列化和持久性的基础,JNDIHashtable可以让您在对象持久性领域获得更多灵活性。您无需将对象映射到数据库表或通过CORBA或EJB托管它们。由于对象是远程存储的,