Помогите Выбираем класс для отслеживания сессии

  • Автор темы Автор темы Deawilld
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Deawilld

Участник
Пользователь
Баллы
36
Имя в Minecraft
Deawilld
Надо некоторые данные онлайн игрока сохранять для использования, скажем, в следующей команде от этого же игрока. Полагаю, что для этого проще всего использовать HashMap, но какой тип лучше всего использовать для ключа? Вариантов несколько: Player, OfflinePlayer, CommandSender, String, UUID. Видел на форуме, что не рекомендуют использовать Player для хранения информации, т.к. он нестабилен. Так вот что будет самым оптимальным и простым вариантом? Может вообще получать игрока по имени или UUID? Так же необходимо учесть, что при выходе игрока эти данные желательно очистить, чтобы не занимать память. Как это обычно делается?
 
Нет. Мы не храним, мы создаём и храним ссылку на то что создали, разница огромная. Посчитай нагрузку при сотке онлайна. И сравни строку и экземпляр Player.
Переобувочная, чи шо? То ты пишешь что мы создаём обьект и сохраняем ссылку на него, то просто про ссылку пишешь.
 
Переобувочная, чи шо? То ты пишешь что мы создаём обьект и сохраняем ссылку на него, то просто про ссылку пишешь.
В плане? Где я тут говорил о хранении экземпляра напрямую в HashMap? Я говорил о том что мы создаём экземпляр в heap памяти.
 
В плане? Где я тут говорил о хранении экземпляра напрямую в HashMap? Я говорил о том что мы создаём экземпляр в heap памяти.
Ага. Выделяю главное. Мы создаём экземпляр в heap памяти. Теперь уточнение - речь идёт об объекте Player? То есть если я вздумаю плеера в мапу положить - создастся новый объект Player?
 
Ага. Выделяю главное. Мы создаём экземпляр в heap памяти. Теперь уточнение - речь идёт об объекте Player? То есть если я вздумаю плеера в мапу положить - создастся новый объект Player?
Создастся новый экземпляр в Heap памяти, а в HashMap будет лежать ссылка на него. (Если ты не реолокатишь игрока с другого места, а создаешь его)
 
Создастся новый экземпляр в Heap памяти, а в HashMap будет лежать ссылка на него. (Если ты не реолокатишь игрока с другого места, а создаешь его)
Если я отслеживаю событие входа (PlayerJoinEvent) и заношу игрока из события в мапу - новый объект плеера создается или нет?)
 
Если я отслеживаю событие входа (PlayerJoinEvent) и заношу игрока из события в мапу - новый объект плеера создается или нет?)
Нет. Ты кинешь ссылку на экземпляр. Ты его не создаешь.
 
Нет. Ты кинешь ссылку на экземпляр. Ты его не создаешь.
Вот, пришли таки к логическому завершению. А теперь объясни всю ту дичь, что ты написал в этой теме до этого момента. Потому что объект Player создаётся сервером автоматически при входе игрока 1 раз и дальше идёт работа с ссылкой на этот объект. Соответственно разницы что ты положешь в мапу - стринг или плеер - практически нет. Объект Player будет существовать в любом случае, что бы ты в мапу не положил.
 
Вот, пришли таки к логическому завершению. А теперь объясни всю ту дичь, что ты написал в этой теме до этого момента.
Какую дичь? PlayerJoinEvent получает экземпляр игрока из net.minecraft.server класса, а ты лишь получаешь ссылку на то что он получил, и как не как это нагрузка, по этому не понимаю твоего бугурта.
 
Какую дичь? PlayerJoinEvent получает экземпляр игрока из net.minecraft.server класса, а ты лишь получаешь ссылку на то что он получил, и как не как это нагрузка, по этому не понимаю твоего бугурта.
Когда геттер возвращает ссылку на объект это по твоему нагрузка?
 
Создастся новый экземпляр в Heap памяти, а в HashMap будет лежать ссылка на него. (Если ты не реолокатишь игрока с другого места, а создаешь его)
А кто по твоему собрался его создавать???
 
Когда геттер возвращает ссылку на объект это по твоему нагрузка?
Что ты несешь ****утый? Какой геттер? Я говорю об нагрузке в самом net.minecraft.server и что там где вызывается PlayerJoinEvent там и есть нагрузка.
А кто по твоему собрался его создавать???
Так же как и в net.minecraft.server.
 
Что ты несешь ****утый? Какой геттер? Я говорю об нагрузке в самом net.minecraft.server и что там где вызывается PlayerJoinEvent там и есть нагрузка.

Так же как и в net.minecraft.server.
А меня **ёт, какая нагрузка в net.minecraft?!
 
Какую дичь? PlayerJoinEvent получает экземпляр игрока из net.minecraft.server класса, а ты лишь получаешь ссылку на то что он получил, и как не как это нагрузка, по этому не понимаю твоего бугурта.
Какая нагрузка? Вызов геттеров - это нагрузка? Окей, а то, что ты из мапы постоянно будешь получать игрока по имени или UUID геттером - это значит не нагрузка?) Более того, ты же будешь вызывать тот же геттер, когда будешь класть значение в мапу, в случае если нужно положить нейм или UUID игрока.
 
Какая нагрузка? Вызов геттеров - это нагрузка? Окей, а то, что ты из мапы постоянно будешь получать игрока по имени UUID геттером - это значит не нагрузка?)
Какие же вы кончи, я выше написал, ау.
 
Какие же вы кончи, я выше написал, ау.
Чел, ты в начале темы снёс лютую дичь, потом жиденько подобосрался, немного исправился, переобулся и снова обосрался. Почти все кодеры этого мёртвого форума пытались как-то тебя поправить, но потом поняли что бесполезно. Ну а я словил лютый фан.
 
Чел, ты в начале темы снёс лютую дичь, потом жиденько подобосрался, немного исправился, переобулся и снова обосрался. Почти все кодеры этого мёртвого форума пытались как-то тебя поправить, но потом поняли что бесполезно. Ну а я словил лютый фан.
И где я обосрался? ****ец, удачи тебе.
 
Чел, ты в начале темы снёс лютую дичь, потом жиденько подобосрался, немного исправился, переобулся и снова обосрался. Почти все кодеры этого мёртвого форума пытались как-то тебя поправить, но потом поняли что бесполезно. Ну а я словил лютый фан.
И где я обосрался? ****ец, удачи тебе.
Всё, закрываю тему... Всем спасибо, было интересно обсуждать эту ***ню
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх