powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Экземпляры синглтона
10 сообщений из 10, страница 1 из 1
Экземпляры синглтона
    #38983499
Фотография giigro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!

Написал такой вот классец (переменная testNum при создании экземпляра синглтона = 0, метод incTestNum() делает testNum++)
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
public class SingletonTest {
    public static void main(String[] args) {
        Singleton inst = Singleton.getInstance();
        inst.printTestNum();
        inst.incTestNum(); 
        inst.printTestNum();  // тут есть точка останова
    }
}


Я останавливаюсь на указанной строке, затем выполняю JAR с этим же классом, он мне выдает 0, 1 . Объясните, почему не 1, 2 , ведь у нас один экземпляр на всю.... на всю чего? JWM?
PS Про classloader'ы читал
...
Рейтинг: 0 / 0
Экземпляры синглтона
    #38983503
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что JVM не живет своей жизнью в системе. Она запускается когда вы запускаете jar и освобождает память, когда выполнение метода main() закончено и нет других работающих потоков.
...
Рейтинг: 0 / 0
Экземпляры синглтона
    #38983511
Фотография giigro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда у меня висит отладка, JVM работает и в её адресном пространстве уже есть экземпляр в данном случае. Нет?
...
Рейтинг: 0 / 0
Экземпляры синглтона
    #38983517
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам пытаются сказать, что если вы ставите точку останова в конце метода main, то JVM имеет полное право собрать весь мусор, который уже не нужен. Включая экземпляр вашего класса-одиночки.
...
Рейтинг: 0 / 0
Экземпляры синглтона
    #38983518
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
giigroзатем выполняю JAR с этим же классомМожете с этого места по подробнее? Как выполняете и т.д?
...
Рейтинг: 0 / 0
Экземпляры синглтона
    #38983521
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov,
тут гораздо проще - речь идет о 2-х несвязанных процессах, и обычные синглтоны для синхронизации тут не подходят. Для синхронизации 2-х jvm нужен уникальный ресурс на уровне ОС
...
Рейтинг: 0 / 0
Экземпляры синглтона
    #38983525
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
giigroи в её адресном пространстве уже есть экземпляр в данном случае. Нет?
Нет. У двух JVM два разных адресных пространства.
...
Рейтинг: 0 / 0
Экземпляры синглтона
    #38983527
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То, что разные JVM работают в разных процессах - должно быть очевидно и поэтому я обоснованно предположил, что автор удивлён результатом перезапуска метода в рамках одной JVM.
...
Рейтинг: 0 / 0
Экземпляры синглтона
    #38983541
yelena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
giigroПривет всем!

Написал такой вот классец (переменная testNum при создании экземпляра синглтона = 0, метод incTestNum() делает testNum++)
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
public class SingletonTest {
    public static void main(String[] args) {
        Singleton inst = Singleton.getInstance();
        inst.printTestNum();
        inst.incTestNum(); 
        inst.printTestNum();  // тут есть точка останова
    }
}


Я останавливаюсь на указанной строке, затем выполняю JAR с этим же классом, он мне выдает 0, 1 . Объясните, почему не 1, 2 , ведь у нас один экземпляр на всю.... на всю чего? JWM?
PS Про classloader'ы читал

Один экземпляр на одно работающее приложение.
В вашем случае работают два экземпляра вашего приложения в двух разных JVM.

А если, например, два экземпляра одного веб приложения в Томкэте (JVM одна и та же), то на каждый экземпляр приложения свой единственный экземпляр класса. Класслодеры у приложений разные.
...
Рейтинг: 0 / 0
Экземпляры синглтона
    #38983941
Фотография giigro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем ответившим! С вашей помощью разобрался.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Экземпляры синглтона
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]