458 подписчиков
Byte-массивы (byte[]) могут использоваться в качестве ключей в HashMap, но при этом необходимо учитывать особенности работы с данными массивами. В Java, для сравнения объектов используется метод equals(), который по умолчанию сравнивает ссылки на объекты. Если два byte-массива созданы отдельно друг от друга, то ссылки на них будут различными, даже если содержимое массивов одинаковое. Поэтому, если использовать byte-массивы в качестве ключей в HashMap, то для корректной работы необходимо переопределить методы equals() и hashCode(), чтобы они сравнивали содержимое массивов, а не ссылки на них...
10 месяцев назад
13,7K подписчиков
Источник: Nuances of Programming аждому Java-разработчику известно, какую роль в экосистеме языка играет JVM. Однако большинство не разбирается в том, как работает JVM под капотом. Хотя для разработки на Java это не обязательно, код станет лучше, если вы глубже поймете JVM, потому что так вы будете знать, как каждая строка кода влияет на процессы внутри JVM. Однако для начала нужно понять, что такое байт-код. Итак, поговорим о вводе и выводе байт-кода Java и о том, как он влияет на JVM во время запуска программы...
3 года назад