В Java статические члены класса
поделился между программами?
Класс определяется его полным именем и загрузчиком классов, который его загрузил. Если один и тот же класс находится в одном и том же процессе JVM и две программы загружают класс через один и тот же загрузчик классов, статические члены являются общими. Правила загрузки классов чрезвычайно важны.
Я думаю, что нет, это не так,
потому что каждый процесс имеет свой
Пространство памяти, конечно.
Если вы используете две отдельные JVM для запуска двух приложений, вы правы. Но возьмем случай с контейнерами приложений / сервлетов, такими как tomcat: они загружают несколько приложений через один процесс (хост-процесс tomcat).
Но как работает вся JVM?
на самом деле работа? Есть ли отдельная JVM
в отдельном процессе для каждой Java
программу, которую я запускаю? Делать Java
программы, работающие в системном ресурсе
вообще что-нибудь?
Каждый раз, когда вы вводите >java -cp...
в командной строке, вы создаете новый процесс. Помните, что когда вы запускаете eclipse или вызываете задачу ant java с помощью fork=true
, вы также создаете новые процессы.
Есть ли различия между ОС и
Реализации JVM? Могу я сделать
программы разделяют переменные (т.е.
непосредственно через JVM, а не
обычные механизмы МПК)? Здесь
более экзотические однопроцессные JVM для
специальные цели?
Как сказал один из авторов, есть такие проекты, как Terracota, которые способствуют этому для вас. Общий подход для этого вида совместного использования - распределенный кеш.