Обновить
128K+

Java *

Объектно-ориентированный язык программирования

263,73
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Обзор самых интересных докладов Joker 2018: версия EastBanc Technologies

Время на прочтение6 мин
Охват и читатели4K
Привет, хабровчане! В этом посте хотим поделиться своими впечатлениями от конференции для Java-разработчиков Joker 2018, что из услышанного нам запомнилось больше всего.

Надеемся, это поможет вам сориентироваться в видеозаписях с конференции, когда они появятся в открытом доступе. А пока мы добавили ссылки на презентации везде, где было возможно.



Читать дальше →

Как анализировать Thread Dump

Время на прочтение21 мин
Охват и читатели75K
В программе курса Разработчик Java довольно много тем, посвященных внутренностям работы JVM. Мы разбираемся в механизмах работы коллекций, байт-кода, сборщика мусора и т.д. Сегодня предлагаем Вашему внимаю перевод довольно интересной статьи о thread dump-е. Что это такое, как его получить и как использовать.

Хотите узнать, как анализировать thread dump (дамп потоков)? Заходите под кат, чтобы узнать больше о том как в Java получить thread dump и что с ним потом делать.
Читать дальше →

CoLaboratory: Android Night #Apple

Время на прочтение2 мин
Охват и читатели2.5K


Всем привет!

Мы открываем серию Android-встреч в «Лаборатории Касперского». На первой встрече обсудим карьерные перспективы мобильного разработчика (куда развиваться «после»), кастомизируемость одного приложения внутри различных сборок и попробуем экспериментальный формат — круглый стол о психологии Android-разработчика.
Читать дальше →

Разбор задачек Joker 2018

Время на прочтение4 мин
Охват и читатели11K


Алоха!

Вот и закончилась одна из самых хардкорных конференций в мире Java — Joker 2018, которая традиционно проходит в Санкт-Петербурге в «Экспофоруме». В этом году в конференции участвовало рекордное количество участников. «Одноклассники» традиционно предложили помочь нашим разработчикам решить нетривиальные задачи, которые возникают при создании одного из самых высоконагруженных проектов на Java.

Те, кто хорошо ответил на вопросы, получили призы, а вам предлагаем краткий разбор наших задачек. Мы скрыли правильные ответы под спойлером, чур, открывать только после того, как сами додумались до решения ;-)

Поехали!
Читать дальше →

Практика тестирования бэкенда на Java + Rest-Assured

Время на прочтение5 мин
Охват и читатели37K
В предыдущей статье я поделился своим опытом автоматизации на Robot Framework. Теперь же речь пойдет о несколько другом подходе к тестированию API для проекта на Kotlin.

Воспользовавшись свободой выбора стека технологий и опираясь на желание попробовать «в бою» что-то новое, я обратился к Rest-Assured. Не без некоторых сложностей мы с коллегами запустили тесты, а по итогам освоения подхода записали его в список ключевых для подобного рода задач.

image

(изображение используется на правах пародии)
Читать дальше →

СберТех ♥ Open Source, concurrency и надежные банковские операции — разбор решений задач с Joker 2018

Время на прочтение3 мин
Охват и читатели5.8K
В эти выходные прошел Joker 2018, было интересно! Но не одними выступлениями была богата конференция. Все компании-спонсоры старались выделиться на фоне «конкурентов» и мы — не исключение.

Много интересного было на стенде Сбербанк-Технологий, но я хочу рассказать о том чем выделились именно мы. Наша команда, занимающаяся развитием Apache Ignite в СберТехе, подготовила задачи и провела розыгрыш среди тех, кто отважился их решить.

Под катом вас ожидают задачи, разбор решений и возможность обосновать собственный вариант решения в комментариях.


Читать дальше →

SNMP + Java – личный опыт. Пишем парсер MIB-файлов

Время на прочтение7 мин
Охват и читатели8.3K
SNMP – не самый юзер-френдли протокол: MIB-файлы слишком длинные и запутанные, а OID'ы просто невозможно запомнить. А что если возникла необходимость работать с SNMP на Java? Например, написать автотесты для проверки API SNMP-сервера.

Путём проб и ошибок при наличии довольно скудного количества информации по теме мы все же придумали, как подружить Java и SNMP.

В этой серии статей я постараюсь поделиться полученным опытом работы с протоколом. Первая статья в серии будет посвящена реализации парсера MIB-файлов на Java. Во второй части я расскажу о написании SNMP-клиента. В третьей части речь пойдёт о реальном примере использования написанной библиотеки: автотестах для проверки взаимодействия с устройством по протоколу SNMP.


Читать дальше →

Web App с IoC Starter. Базовый маппинг запросов, используя ioc context, ioc web и ioc orm

Время на прочтение18 мин
Охват и читатели1.8K
image

Введение


С момента первого релиза прошло достаточно много времени (ссылка на предыдущую статью). Что изменилось?


  • улучшена стабильность системы в целом;
  • реализована ленивая загрузка компонентов;
  • встроена базовая система слушателей;
  • встроена поддержка аспектно-ориентированного программирования (для средней сложности решения задач, в остальном все же советую использовать — AspectJ библиотеку)
  • новый загрузчик RequestFactory
  • встроена работа с кешем на базе EhCache, Guava
  • встроена работа с потоками (как инициализация посредством аннотации @SimpleTask, так и прямая работа с пулом)

**Модули


  • модуль работы с базой (легковесный ORM с поддержкой JPA, Transactions, NO-SQL Driver — Orient, Crud methods, repository system и автогенерацией запросов из функции класса-репозитория)
  • модуль работы с веб-мордой (маппинг линков посредством аннотаций, поддержка кастомных producers/consumes, Velocity Template Rendering Page, Basic Security Requests, Sessions, Cookies, SSL) на базе Netty 4.1.30.Final

Структура фреймворка
struct


"Это конечно же все хорошо,"- скажите Вы, -"но по факту работает ли это все?".
"Да, работает. Прошу под кат".


Процесс реализации примера


Для реализации примера я буду использовать Maven 3 и Intelijj Idea 2018.2.


1) Подключаем зависимости:

Читать дальше →

Joker 2018: невозможное возможно

Время на прочтение7 мин
Охват и читатели8.8K
19-20 октября 2018 года в Санкт-Петербурге прошло долгожданное Java-мероприятие второй половины года — конференция Joker 2018. Подробности, впечатления, детали — всё дальше.


Читать дальше →

Кеширование данных — Java Spring

Время на прочтение6 мин
Охват и читатели50K
Многократно вычитывая одни и те же данные, встает вопрос оптимизации, данные не меняются или редко меняются, это различные справочники и др. информация, т.е. функция получения данных по ключу — детерминирована. Тут наверно все понимают — нужен Кеш! Зачем всякий раз повторно выполнять поиск данных или вычисление?

Так вот здесь я покажу как делать кеш в Java Spring и поскольку это тесно связанно скорее всего с Базой данных, то и как сделать это в СУБД на примере одной конкретной.

Содержание

  • Кеш в Spring
  • Кеш в Oracle PL-SQL функции
Читать дальше →

«Java-мир больше никогда не будет прежним» — интервью с Александром Белокрыловым и Алексеем Войтыловым из BellSoft

Время на прочтение20 мин
Охват и читатели27K
Остаются последние дни перед Joker, и очень хотелось принести на Хабр не обычное интервью, а какой-нибудь мощной дичи. В последнее время люди интересуются серверами на Arm, и так получилось, что у нас есть по этой теме реальные специалисты.

Александр (alexbel) Белокрылов и Леша Войтылов, совместно с Григорием Лабзовским, который руководил центром разработки Oracle в Санкт-Петербурге, чуть более года назад основали компанию BellSoft. Сейчас компания успешно работает, развивается и уже успела получить известность в Java-мире.

По объему коммитов в OpenJDK за прошлый год они вышли на пятое место, и теперь впереди только Oracle, Red Hat, SAP и Google:



Надо понимать, что BellSoft — это не только Arm:

  • Вышла Liberica JDK 11, поддерживаются Linux x86_64, Windows, Linux ARMv8, Linux ARMv7 (включая Raspberry Pi). Будут выкладываться сборки для Mac и Solaris Sparc.
  • Публикуются образы под все архитектуры на Docker Hub для Debian, CentOS, Alpine. Образ для Alpine делается из lite версии с --compress 2 поэтому существенно меньше обычного JDK.

В этом интервью мы коснемся только Arm, а всё остальное оставим на следующий раз.
Читать дальше →

Компактные строки в Java 9

Время на прочтение3 мин
Охват и читатели16K
И снова здрасьте! Мы открыли очередной набор в, теперь уже девятую, группу «Разработчик Java» (а десятая группа в планах, внезапно, стоит на 31.12) и подготовили для вас интересные материалы и открытый урок.

Так что поехали.

Хотите уменьшить количество памяти используемой вашим Java-приложением? Посмотрите, как можно улучшить производительность с помощью компактных строк, доступных в Java 9.

Одним из решений по улучшению производительности, представленных в JVM (Oracle HotSpot, если быть точным), в качестве части Java SE 9, оказались компактные строки (compact strings). Их задача заключается в уменьшении размера String-объектов, что позволяет уменьшить общий объем (футпринт) памяти потребляемой приложением. В результате, это может уменьшить количество времени, затрачиваемого на сбор мусора.

Читать дальше →

Бонусы Joker 2018: бесплатная онлайн-трансляция, бофы, вечеринка и настолки

Время на прочтение3 мин
Охват и читатели4K


Считаные дни остались до конференции Joker 2018: она пройдет в эту пятницу и субботу, 19-20 октября в Экспофоруме. Вы уже знаете про 42 доклада и сотни участников, но мы подготовили кое-что ещё.

По традиции, прямо на YouTube будет открыта бесплатная онлайн-трансляция. Но только первый день и первый зал. Между докладами будут вестись интервью с ключевыми спикерами конференции.
Ссылка на трансляцию

В бесплатной трансляции вас ждет следующее:
  • Венкат Субраманиам, один из лучших докладчиков в мире Java, выступит с кейноутом;
  • Николай Парлог, известный спикер, блоггер и автор книги The Java Module System, расскажет о фичах Java 11;
  • Гаральд Вендел из TransferWise расскажет о решении проблем транзакционности в микросервисах;
  • Андрей Паньгин из компании Одноклассники феерически расставит все точки над тем, почему Джава жрёт память, и что с этим делать;
  • Тагир Валеев из JetBrains расскажет, как видят pattern matching авторы Java, и какие новые возможности требуются, чтобы этим было удобно пользоваться;
  • «Приключения Сеньора Холмса и Джуниора Ватсона в мире разработки ПО» возвращаются в специальном Joker Edition, а ведут доклад Евгений Борисов и Барух Садогурский.

Подробные описания докладов доступны по ссылке.

Безусловно, конференция — это не только видео, значительная её часть происходит в оффлайне. Для тех, кто пойдёт вживую, хочется напомнить о нескольких дополнительных фишках.
Читать дальше →

Ближайшие события

«ПК», но не «персональный компьютер»: интервью с программным комитетом Joker

Время на прочтение14 мин
Охват и читатели3.2K


Любому Java-разработчику понятно, сколько важного остаётся незаметным для конечного пользователя. Кнопочки на сайте видны всем — но при взгляде со стороны можно никогда не задуматься о бэкенде, без которого эти кнопочки не работали бы.

А у Java-конференции Joker, как и у любой другой конференции, есть свой «бэкенд». «Фронтендом» можно считать спикеров: они видны всем, их гигантский вклад понятен. Но есть и большая работа, происходящая «за кулисами». Кто следит, чтобы доклады были достойного уровня, и помогает спикерам его достичь? Кто решает, какие темы подходят мероприятию? Кто помогает привлечь зарубежных звёзд?

Программный комитет конференции — это «бэкендеры» программы, и в преддверии Joker мы решили расспросить ПК. Во-первых, так можно увидеть мероприятие со стороны, обычно незаметной участникам. А во-вторых, от интервью есть и конкретная практическая польза: поскольку они уже видели лично все доклады грядущего Joker, могут подсказать, на что обратить внимание.
Читать дальше →

Перегрузка, которая запрещена, или bridge-методы в Java

Время на прочтение7 мин
Охват и читатели18K

В большинстве моих собеседований на технические позиции есть задача, в которой кандидату необходимо реализовать 2 очень похожих интерфейса в одном классе:


Реализуйте оба интерфейса одним классом, если это возможно. Объясните, почему это возможно или нет.


interface WithPrimitiveInt {
  void m(int i);
}

interface WithInteger {
  void m(Integer i);
}

От переводчика: Эта статья не призывает вас задавать такие же вопросы на интервью. Но если вы хотите быть во всеоружии, когда этот вопрос зададут вам, то добро пожаловать под кат.

Нестыдные вопросы про жизненный цикл

Время на прочтение8 мин
Охват и читатели17K


Каждый разработчик сталкивался с вопросами про жизненный цикл Activity: что такое bind-сервис, как сохранить состояние интерфейса при повороте экрана и чем Fragment отличается от Activity.
У нас в FunCorp накопился список вопросов на похожие темы, но с определёнными нюансами. Некоторыми из них я и хочу с вами поделиться.

Читать дальше →

Проверка данных — Java & Spring Validation

Время на прочтение14 мин
Охват и читатели144K
Проверка данных класса (bean) в java тема не новая, но актуальная и здесь я объединю различные аспекты: валидацию данных в рамках JSR-303, покажу как это сделать чисто в Java и с использованием Spring, как делать в стандартном приложении и в Web.

Содержание: Валидация данных (JSR-303) в

  • стандартном Java приложении
  • c использованием Spring
  • объединение Java + Spring
  • Spring MVC
Читать дальше →

Разработка под Android и решение проблем связанных с разработкой

Время на прочтение12 мин
Охват и читатели5.5K

Цель статьи


В данной статье будут рассмотрены проблемы Android разработки и разработки в целом. Все мы знаем, что разработка программы — это большой сложный труд на который уходит довольно много времени и сил, и порой для поиска решения той или иной проблемы приходится тратить куча времени, т.к некоторые решение из интернета не всегда работают.

В данной статье будут рассмотрены следующие вопросы:

  • Кастомная клавиатура под Android
  • Многопоточность
  • Интеграция рекламы в программу
Читать дальше →

Чарльз Наттер о динамических языках в JVM на jug.msk.ru

Время на прочтение2 мин
Охват и читатели3.6K
На очередной встрече московского сообщества Java-разработчиков jug.msk.ru, прошедшей 4 октября 2018 года, Чарльз Наттер рассказал о технологиях, используемых JRuby и другими динамическими языками для JVM.


Читать дальше →

«Научиться Spring — бессмысленное занятие» — Джош Лонг, главный евангелист Spring о внутренней кухне проекта

Время на прочтение19 мин
Охват и читатели25K

Сегодня у нас в виртуальной студии самый известный в мире докладчик по Spring — Джош Лонг.


Именно его докладами открываются Java-конференции по всему миру. Именно он отвечает на вопросы сообщества, делает Spring Tips на YouTube, именно его «This week in Spring» мы читаем каждую неделю и многое другое.


Кстати, Джош разрешил использовать все материалы в нашем собственном «This week in Java», но он делает их в таком объеме и глубине, что эти данные ни разу не получилось сжать до формата «дайджеста на 15 минут».


Иногда кажется, что он находится во всех городах одновременно, читает доклады и пишет статьи в один момент. Сегодня мы будем разбираться, как это у него получается. Узнаем про «юргенизацию кода», причины удивительной живучести Spring и то, как он умудрился прожить столько лет без глобальных переписываний всего с нуля и другие интересные фишки.




Участники


Josh Long, Spring Developer Advocate at Pivotal


Евгений Трифонов, Олег Чирухин — редакция JUG.ru Group

Читать дальше →