• [Археология Live] Стыдный разговор о синглтонах

      Аудитория: Java Junior, любители холиворов, профессиональные написатели синглтонов



      Любые замечания и предложения — очень приветствуются. Это мое первое видео, и не совсем понятно, нужен ли тут вообще такой контент. Считайте это закрытым альфа-тестом, только для посетителей хаба Java :)


      Ниже дана полная текстовая расшифровка, кому не хочется тратить время на просмотр.

      Читать дальше →
    • Moby/Docker в продакшене. История провала

      • Перевод

      Примечание переводчика: в предыдущей статье о подготовке к девопс-конференциям, Gryphon88 задал резонный вопрос: как отличить cutting-edge и хайп? Нижеследующая статья наполнена сочной незамутненной истерикой, которую так приятно читать с утра, попивая чашечку кофе. Минус в том, что она написана в ноябре 2016, но нетленка не стареет. Если после прочтения захочется добавки, есть комментарии на Hacker News. А у тебя, юзернейм, такой же ад? Пиши в комментариях. Итак, начнем.


      В первый раз я встретился с Докером в начале 2015. Мы экспериментировали с ним, чтобы понять, для чего бы его можно употребить. В то время нельзя было запустить контейнер в фоне, не было команд чтобы посмотреть что запущено, зайти под дебагом или SSH внутрь контейнера. Эксперимент оказался быстрым, Докер был признан бесполезным и более похожим на альфу или прототип, чем на релиз.


      Промотаем нашу историю до 2016. Новая работа, новая компания, и хайп вокруг докера поднялся безумный. Разработчики уже выкатили докер в продакшен, так что сбежать с него не удастся. Хорошая новость в том, что команда run наконец-то заработала, мы можем запускать и останавливать контейнеры. Оно шевелится!


      У нас 12 докеризованных приложений, бегающих на проде прямо в момент написания этой заметки, размазанные на 31 хост на AWS (по одному приложению на хост, дальше объясню — почему).


      Эта заметка рассказывает, как мы путешествовали вместе с Докером — путешествие полное опасностей и неожиданных поворотов.

      Читать дальше →
    • Посещение конференции — чеклист

        Это статья появилась за распитием пива с друзьями в Академгородке — стало понятно, что лучше её перенести в текстовый вид, дабы не повторять сто раз.

        Существуют легенды на тему того, что единственный смысл конференции — это найти себе работу покруче за деньги текущего работодателя. Несмотря на внешнюю неэтичность, в этом хотя бы есть смысл. В реальности бывает куда хуже: люди приходят на конфу, и потом не знают, чем заняться, кроме как хавать булочки в переходе (особенно если они бесплатные). Давайте я расскажу, что делать, чтобы не тратить свои и чужие ресурсы зазря.
        Читать дальше →
        • +47
        • 11,5k
        • 8
      • [Археология Java] Контекстно-зависимый инлайнинг трейсов в Java

        • Перевод

        Коротко о статье


        Инлайнинг методов – одна из наиболее важных оптимизаций в JIT-компиляторах (которые благодаря ей называются «основанными на методах» или «блочными»). Эта оптимизация расширяет область компиляции, позволяя оптимизировать несколько методов как единое целое, что повышает производительность приложений. Однако, если использовать инлайнинг методов слишком часто, время компиляции станет излишне большим, и будет сгенерировано слишком много машинного кода. И вот это скажется на производительность уже негативно.

        Трассирующие JIT-компиляторы собирают не всё подряд, а только часто исполняемые пути, так называемые трейсы. С помощью этого можно получить более быструю компиляцию, уменьшить количество сгенерированного машинного кода, и улучшить его качество. В предыдущих наших работах, мы реализовали инфраструктуру для записи трейсов и трассирующий Java-компилятор, модифицируя код Java HotSpot VM. Основываясь на этой работе, мы посчитали, какой эффект инлайнинг трейсов оказывает на производительность и количество генерируемого кода.
        Читать дальше →
      • Новый GC Epsilon. У джавы может не быть сборки мусора. Шок. Сенсация

          Добрый день, господа! Спешу сообщить, что настают последние дни. Кажется, мир Java развился до такой степени, что то ли мы теперь можем спокойно использовать Rust вместо Java, то ли Java вместо Rust. Кровавые подробности ждут вас под катом.
          Читать дальше →
        • Грабли A/B тестирования — встреча с Романом Поборчим, Санкт-Петербург

            В четверг, 7 июля, в 20:00, в петербургском офисе Oracle состоится встреча CodeFreeze с Романом Поборчим, экспертом по Java, качеству поиска и A/B тестированию. Тема встречи — грабли A/B тестирования.

            Участие — бесплатное. Количество мест ограничено, необходима регистрация по ссылке.

            Читать дальше →
          • Java & PostgreSQL — встреча с Альваро Эрнандесом, Санкт-Петербург

              В среду, 6 июля, в 20:00, в питерском офисе компании Oracle состоится встреча JUG.ru с Альваро Эрнандесом, экспертом по PostgreSQL. Тема встречи — особенности взаимодействия Java с PostgreSQL.

              Язык встречи — английский. Участие — бесплатное. Количество мест ограничено, необходима регистрация по ссылке.

              Читать дальше →
            • Особенности работы JIT-компиляторов в HotSpot JVM — встреча с Дагом Хокинсом, Санкт-Петербург

                В четверг, 30 июня, в 20:00, в питерском офисе компании Luxoft состоится встреча JUG.ru с Дагом Хокинсом, JVM-инженером в Azul Systems. Тема встречи — особенности работы JIT-компиляторов в HotSpot JVM.

                Язык встречи — английский. Участие — бесплатное. Количество мест ограничено, необходима регистрация по ссылке.

                Читать дальше →
                • +10
                • 5,3k
                • 4