Подробный разбор цепочки эксплойтов Playstation 4 и 5
В статье представлена цепочка из пяти уязвимостей, позволяющая нападающему получить возможности JIT и исполнять произвольные полезные нагрузки. Передаваемая полезная нагрузка вызывает переполнение...
View Article«Го, я создал». Учим Java и Kotlin в команде
Изображение взято отсюда: https://lightrun.com/java/16-top-java-communities-forums-and-groups-the-ultimate-guide/ Лирическое вступление Данная инициатива - не реклама, пиар, прикол или что-либо,...
View ArticleПолучение generic-типа в runtime
В Java 5 появились generic-типы, а вместе с ним и концепция type erasure, которая буквально означает стирание информации о generic-типе после компиляции. Действительно, во многих случаях это просто...
View ArticleДюк, вынеси мусор! — 5. Epsilon GC
Сборщики мусора из OpenJDK, которые мы успели рассмотреть к этому моменту (Serial и Parallel, CMS и G1, ZGC), были нацелены на как можно более быструю и эффективную сборку мусора, для чего использовали...
View ArticleХолостые циклы в Java
Привет, сегодня поговорим о тонкостях реализации холостых циклов (холостого ожидания) в Java. Эта задача встречается нечасто: за девять с небольшим лет работы я столкнулся с ней лишь пару раз. Тем не...
View ArticleIt is Wednesday, my java dudes, или насколько сложно сделать свою JVM
Что делать, если накануне переезда повысилась тревожность, а привычные методы не приносят успокоения? Конечно же вырабатывать дофамин через решение упоротых инженерных задач! Мне стало интересно -...
View ArticleОшибка в stacktrace из продакшена
В этой статье я расскажу про исключительную ситуацию, которая произошла с одним исключением в продакшене нашего Android приложения. Оригинальная статья написана мной, так что это не совсем "перевод",...
View ArticleАтака на String.hashCode: прообразы и коллизии
Как-то раз мне понадобилось несколько наборов строк с коллизией по хеш-коду. То есть таких, чтобы значение String::hashCode() совпадало для всех строк в наборе. Блуждание по интернету не дало...
View ArticleВо что обернулась пересылка MQTT-сообщений в Telegram?
Периодически возникает желание получать уведомления, иметь возможность настраивать источник, фильтровать сообщения по темам, и писать как можно меньше кода. Например, присылать себе...
View ArticleГлубокое погружение в Java Memory Model
Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме. В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да,...
View ArticleБлеск и нищета IT в Германии
Уже четыре года я работаю Java разработчиком в небольшой немецкой компании. В начале прошлого года я увидел на столе одного из моих «кураторов» забытый листок с расчётом заработной платы за месяц....
View ArticleКак хранить сеть дорог в БД для построения маршрута?
И так, формулировка задачи следующая: есть база данных, в ней хранится информация о дорогах, включая координаты, нужно реализовать построение маршрутов из начальной точки к конечной. Построение...
View ArticleРазбираем по полочкам «философию Unix»
Как-то раз я написал пост о том, как проектируются компиляторы. Основная идея этого поста заключалась в очень простом композиционном примитиве – а именно, выстроить конвейер из функций. Традиционно...
View ArticleПритча о семи с половиной языках
Дисклеймер. Статья написана исключительно в развлекательных целях. Как все начиналось Любой администратор любой информационной системе знает, что мест для автоматизации в его работе бесконечное...
View ArticleСборка мусора в неисправных JVM, проактивный подход
Команда Netflix Cloud Data Engineering работает с различными приложениями для JVM, включая такие популярные хранилища данных, как Cassandra и Elasticsearch. Хотя большинство наших кластеров стабильно...
View ArticleЯ купил телефон за 50 российских рублей. На что он способен?
Если прямо сейчас собраться и пойти в магазин любого ритейлера, дабы посмотреть — какие телефоны можно купить до 1.000 рублей, то можно увидеть кучу наименований… которые выглядят практически...
View ArticleМоя любимая функция Kotlin
За последние несколько лет я видел много дискуссий о функциях Kotlin. Среди обсуждаемых тем обнуляемость всегда в первых рядах. Мне она нравится, но это определенно не моя любимая функция. Больше всего...
View ArticleJEP-400 или UTF-8 РєРѕРґРёСЂРѕРІРєР° РїРѕ умолчанию
Не прошло и пяти лет, как в Java 18 докатилось небольшое, но очень ожидаемое и обсуждаемое изменение: теперь во всех стандартных API используется UTF-8 кодировка по умолчанию. Это изменение, которое...
View ArticleСортировка слиянием через рекурсию
В прошлый раз мы рассмотрели использование рекурсии на примере возведения в степень. В этот раз мы применим рекурсию для создания алгоритма сортировки слиянием. В сети легко найти множество вариаций...
View ArticleКак поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap
Когда человек раньше говорил что он контролирует весь мир, то его обычно помещали в соседнюю палату с Бонапартом Наполеоном. Надеюсь, что эти времена остались в прошлом и каждый желающий может...
View Article