- Баллы
- 76
- Имя в Minecraft
- IcedwinterZ
Надо ли очищать мапы? В Какой памяти лежат данные с мап, и с листов?
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Сам по себе ивент, конечно, не грузит.При некоторых действиях игрока, событие отправляется всем плагинам, у которых есть обработчики таких событий.Отсюда вытекает, что скорость глобальной обработки зависит от количества обработчиков и их сложности.Если, например, в этом ивенте ты будешь инкрементировать переменную, то ничего страшного, думаю, не случится.А можно конечно в таком ивенте шедулеры запускать, да.Шудуллеры в новом потоке делать? Или использовать обычный поток плагина? Сильно ли грузит PlayerMoveEvent и стоит ли его использовать? - Нет? Есть ли альтернативы ?
На счёт шедулеров в отдельном потоке, можешь глянуть, например, тут и сделать выводы.На вопрос о очистке коллекций можно ответить чисто логически.Если данные нужны - удалить их нельзя, в противном случае, нечего их держать в памяти.Да все объекты на которые есть ссылки не очистятся.мапы и листы являются частой причиной утечки памяти как раз из за того, что не очищаются.
А ты в лист что заносишь?Еще вопрос, типа: А будет ли что-то?
Собственно, есть предположим снежок, который летит, ну, оочень быстро, этот снежок, записываю в лист, где потом, обрабатываю его падение: в листе берется первый (0) аргумент, обарабатывается, лист очищается. Если 2-4 игрока, стрельнут одновременно? Что будет?
А ты в лист что заносишь?
static FileConfiguration c;
static AmmoType type;
static AmmoAction aa;
static int id;
А потом будешь писать "ни работает, заносятся последние данные толька".Код:static FileConfiguration c; static AmmoType type; static AmmoAction aa; static int id;
+1А потом будешь писать "ни работает, заносятся последние данные толька".
static - значит поле будет "инициализироваться" при подгрузке класса, а не создании объекта.+1
сам на этом много времени убил. разные источники говорят по разному, и не всегда понятно
я давно разобрался с этимstatic - значит поле будет "инициализироваться" при подгрузке класса, а не создании объекта.
А вот я нет. Смысли только последние данныея давно разобрался с этим
Почему только последние запишет?А потом будешь писать "ни работает, заносятся последние данные толька".
т.е просто убрать статик...?Статик метод грубо говоря для каждого эксепляра класса один и тотже.
Тоесть преположим в классе Main есть это
private static String test;
public Main(String test) {
this.test = test;
}
public String getTest(){
return test;
}
Вызываешь гденибудь класс.
Main m = new Main("test");
Main m2 = new Main("test2");
И выводишь
m.getTest();
m2.getTest();
и получаешь результат
"test2"
"test2"
Тоесть указвая новый обьёкт, он изменяется сразу во всех классах.
. Убираешь оттуда статик получаешь
"test"
"test2"
как то так
Ага.т.е просто убрать статик...?