powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Java [закрыт для гостей] / переменные и память, Поиск: Искать сообщения, созданные автором: Вадя  
10 сообщений из 10, страница 1 из 1
Java / переменные и память
    #172990
Вадя
Скрыть профиль Поместить в игнор-лист
Участник
про работу с памятью что-то было новое внедрено в последних версиях
может кто разобрался получше - помогите.
в Сях можно расположить в одном месте памяти две переменные разных типов строку и интежер (к примеру)
можно ли такое сделать в java?
с использованием вставки байт-кода?
...
Рейтинг: 0 / 0
Java / переменные и память
    #174759
Вадя
Скрыть профиль Поместить в игнор-лист
Участник
vimba [игнорируется] 
тогда вопрос (не в тему топика, но в тему моей проблемы, где частью был вопрос топика)
как ускорить HashMap? или чем его заменить?
HashMap<String, MyInterface> metaMap = new HashMap<>(10);
нужно в 3-4 раза ускорить
...
Рейтинг: 0 / 0
Java / переменные и память
    #174946
Вадя
Скрыть профиль Поместить в игнор-лист
Участник
vimba  06.10.2022, 10:25
[игнорируется]
Не обладая контекстом вам этого никто не скажет. Откуда мы знаем с какой целью вы в мапу что-то кладёте, а потом дастаёте.
пытаюсь ускорить рефлексию, и как оказалось - самое тонкое, самое медленное - это извлечение из мапы полного имени(ссылки) на метод по имени метода.
новые методы вызова метода по имени практически равны прямому "стандартному" вызову метода. разница в погрешности измерения.
а 3-4 - это за счет извлечения из мапы.
в 10 раз - это было б намного круче, но и 3-4 достаточно :)

кладётся в мапу один раз в синглтоне, при запуске, а потом только извлекается
...
Изменено: 06.10.2022, 10:43 - Вадя
Рейтинг: 0 / 0
Java / переменные и память
    #174948
Вадя
Скрыть профиль Поместить в игнор-лист
Участник
asv_79  06.10.2022, 09:06
[игнорируется]
switch case стейтмент попробуй
оно конеШно вариант, но когда у тебя вызовов 50++, а в ланах 300++, то switch case будет ещё дольше работать, да и каждый раз править его при добавлении/удалении методов - ни есть харашо
...
Рейтинг: 0 / 0
Java / переменные и память
    #174950
Вадя
Скрыть профиль Поместить в игнор-лист
Участник
vimba  06.10.2022, 10:25
[игнорируется]
Тот кто знает как ускорить HashMap в 3-4 раза может смело прямо сейчас открывать с ноги двери в офис оракла и класть им на стол своё резюме.
может тут уже появились такие?
...
Рейтинг: 0 / 0
Java / переменные и память
    #175034
Вадя
Скрыть профиль Поместить в игнор-лист
Участник
vimba  06.10.2022, 11:22
[игнорируется]
Но вот если сменить тип у константы которую вы сопоставляете каждому методу, а именно со String на int, то можно вместо HashMap<String, MyInterface> metaMap прийти к MyInterface[] metaArray
была такая мысль, но тут возникают сложности с преобразованием входного параметра, который есть стринг, в int
в принципе HashMap<Integer, MyInterface> делает замедление только в 1.4 раза, вместо 4
но тогда возвращаемся к первому посту топика.
...
Рейтинг: 0 / 0
Java / переменные и память
    #175040
Вадя
Скрыть профиль Поместить в игнор-лист
Участник
vimba  06.10.2022, 12:29
[игнорируется]
Что он обозначает? Почему на его месте не может быть int?
потому что это принимаемый параметра и он стринг - имя метода который нужно вызвать.
из браузера приходит сообщение - команда и данные, где команда и есть имя метода.
конечно можно команду обозначить числом, но это уж слишком - нужно где-то держать связь число-имя_меетода...

ЗЫ
тут большой камень в сторону хибера - используют мапы и листы - тормозные вещи
...
Изменено: 06.10.2022, 12:38 - Вадя
Рейтинг: 0 / 0
Java / переменные и память
    #175067
Вадя
Скрыть профиль Поместить в игнор-лист
Участник
vimba  06.10.2022, 12:50
[игнорируется]
В жабоскрипте тоже можно иметь именованный константы.
а при написании бэка - лазить и смотреть там?
с суммарном итоге это не вариант.
придётся смириться....
...
Рейтинг: 0 / 0
Java / переменные и память
    #175083
Вадя
Скрыть профиль Поместить в игнор-лист
Участник
vimba  06.10.2022, 13:18
[игнорируется]
А тебе в любом случае нужно поддерживать согласованость констант на бэке и на фронте,
это так, но без дополнительного слоя - имя и там и там одно и тоже- наглядно и просто
vimba  06.10.2022, 13:18
[игнорируется]
Тоже вариант, если речь идёт про обработку HTTP запроса, то один поиск в мапе это ничто, это пыль, можно не париться.
конечно, когда обращений мало, но когда очень много - надо экономить на мелочах,
может в будущем что-то ускорится...
ведь раньше и рефлексия считалась тормозом....
...
Рейтинг: 0 / 0
Java / переменные и память
    #175104
Вадя
Скрыть профиль Поместить в игнор-лист
Участник
vimba  06.10.2022, 13:37
[игнорируется]
Если у тебя станет радикально много HTTP запросов, то всё сляжет не из-за того ты один раз на протяжении обработки одного HTTP запроса в мапе что-то поищешь.
всегда найдётся тонкое место, но если их находить и исключать - можно добиться лучших результатов. [:smile]
vimba  06.10.2022, 13:37
[игнорируется]
при проектировании системы констант, для ускорения поиска по константе их делают всегда числовми и ищут по смещению массиве.
конечно это вариант, но более похож на велосипед. если есть возможность поискать лучше - почему - нет?
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [закрыт для гостей] / переменные и память, Поиск: Искать сообщения, созданные автором: Вадя  
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (25): Анонимы (15), Дед-Папыхтет, Сталкер, Брюквенные годы, anonymous, Bing Bot, Yandex Bot, cat2 1 мин., Просто Трёп 2 мин., erbol 3 мин., Буся 8 мин.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
x
x
Закрыть


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