Рубрика «java» - 237

Недавно мне пришлось поработать с библиотекой Google Gson, предназначенной для преобразования Java-объектов в текстовый формат JSON (сериализация) и обратного преобразования (десереализация). Часто при работе с Gson хватает стандартных настроек библиотеки, но бывают случаи (в том числе мой), когда необходимо кастомизировать процессы преобразований.
Поработав с Gson, я решил написать этот туториал, который иллюстрирует принципы работы с библиотекой на примере. Пост получился сравнительно длинный, но дробить его не хочется из-за логической связности повествования.

Для начала нужно выбрать какую-нибудь предметную область. Скажем, не знаю, почему-то приходят в голову мысль про отряд гномов. Собственно, почему бы и нет?

Gson или «Туда и Обратно»
Читать полностью »

— Каждому своё. Будущее нас рассудит. В дорогу! Наш зритель ждёт нас.

Все началось очень хорошо, даже можно сказать замечательно. Город Барнаул получил долгожданную возможность посмотреть анонс фильмов через мобильное приложение в единственной сети кинотеатров. А самое главное делать бронирование и оплату билетов сидя дома на диване. К слову сказать, система покупки билетов существовала уже очень давно на сайте сети.

Итак, прочитав перед работой новость о том, что выпустили мобильное приложение, я уже планирую на какой фильм пойти на выходные с семьей воспользовавшись новым сервисом. Придя на работу, скачиваю приложение и получаю заставку минут на 5 и потом сообщение про ошибку сети. Как же так… По отзывам все у всех работает, а у меня что? Честно сказать не сразу догадался, пробовал и удалять и ставить заново, и только в последний момент попробовал отключить WiFi и запустить через 3G. Заработало! Все дело оказалось в WiFi сети предприятия, админ которой заботливо открыл только те порты, которые необходимы были для работы. Ну что ж — логично. Только немного странно. Зачем использовать нестандартный порт для приложения? Ведь использование WiFi на предприятиях популярно и для работников и для гостей. Тут то меня и зацепило…

Все цитаты и крылатые фразы взяты из фильма «Человек с бульвара Капуцинов».
Читать полностью »

Добрый день.
Меня зовут Головач Иван, я буду уже второй раз вести спецкурс-вебинар «Multicore programming in Java». В этой статье предлагаю на рассмотрение программу курса и наиболее полезные ссылки по вопросам многопоточности в Java.

Кратко о курсе: стартует 1 сентября, ведется в режиме вебинаров дважды в неделю (понедельник + четверг) в 19.00-22.00 (по московскому времени), состоит из 16 лекций по 2.5 часа (=40 лекционных часов), рассчитан на Java Middle.

1. Модуль #1: Между hardware и New JMM
1.1 Программа модуля
1.2 Литература к модулю
2. Модуль #2: java.util.concurrent
2.1 Программа модуля
2.2 Литература к модулю
3. Модуль #3: Fork/Join Framework + Parallel Streams
3.1 Программа модуля
3.2 Литература к модулю
4. Модуль #4: “Неклассические архитектуры”
4.1 Программа модуля
4.2 Литература к модулю
Читать полностью »

В четверг, 7 августа, в 20:00 в петербургском офисе компании Luxoft пройдёт встреча JUG.ru с Антоном Архиповым, специалистом по модификации байткода, разработчиком и менеджером продуктов JRebel и XRebel в компании ZeroTurnaround. Встреча будет состоять из двух частей: до перерыва мы поговорим о загрузчиках классов, а после перерыва — об инструментации байткода.

Участие в данном мероприятии является бесплатным, но необходимо зарегистрироваться на jugru.timepad.ru/event/135787/

1. Загрузчики классов в Java: коллекция граблей

Модель динамической загрузки классов является одной из основных особенностей платформы Java. Загрузчик классов позволяет загружать исполняемый код в JRE не перезагружая основное приложение. Сервера приложений, модульные системы, многие веб-фреймворки используют загрузчики классов для внесения динамических особенностей в свою функциональность.

В этом докладе будут рассмотрены основные положения в механизме загрузки классов, а так же разобраны основные проблемы возникающие в приложениях из-за особенностей поведения загрузчиков. Будут рассмотрены причины возникновения типичных ошибок ClassNoDefFoundError, IncompatibleClassChangeError, LinkageError, и др, а так же способы диагностики и пути к решению этих ошибок.

Доклад подразумевает интерактив и вовлечённое участие аудитории.

2. Java-агенты, Instrumentation API и Javassist

Пакет java.lang.instrument был добавлен в Java уже давно, в версии 1.5. На простых примера рассмотрим основные возможности Instrumentation API и поговорим о том, как и для чего можно сделать своего Java-агента. Картинка была бы неполной без упоминания инструментов для манипуляций с байткодом — для этого мы посмотрим на возможности Javassist и увидим, что с этим со всем можно сделать.

Антон Архипов — разработчик и менеджер продуктов JRebel и XRebel в эстонской компании ZeroTurnaround. Профессионально занимается разработкой на Java около десяти лет. Основные интересы связаны с языками программирования и средствами разработки ПО. Регулярно выступает на международных конференциях — за спиной выступления на таких конференциях как JAX, JavaOne, GeeCON, Jfokus, JavaZone, EclipseCon.

Место проведения
Петербургский офис компании Luxoft:
Бизнес-центр «Осень», Свердловская наб., дом 44, литера Я
Читать полностью »

image

Вот и у меня нашлась тема, которой я могу поделиться с Хабр сообществом. Надеюсь данная статья получится не только познавательной, но и интересной.

Входные данные:
Локейшн: Днепропетровск.
Позиция: Junior Automation QA Engineer.
Технологии: C#, Selenium, MSTest, TeamCity, Hibernate.

Так получилось, что пару месяцев назад я оказался на лавке запасных в одной большой компании. Клиент решил поделить нашу команду автотестеров на 2(хорошо, что не на ноль) и так как у меня на этом проекте срок работы был невелик, то я попал в резерв. Внутренних проектов не ожидалось, а в резерве обычно сидеть скучно и невыгодно в денежном плане. Так я начал ходить на интервью.
Читать полностью »

История одного проекта.

Перетягивание «Верблюда» или интеграция средствами Camel. Часть 1
Вам когда нибудь снились верблюды? Вот и мне тоже нет. Но работая с Camel-ом уже третий год, начинают снится не только верблюды.
В общем буду делиться опытом, писать о верблюдах и учить вас их готовить. Это серия статей в трёх частях: первая часть будет для тех кому интересны истории и муки творчества; вторая — больше техническая о паттернах интеграции, их применении и третья часть об ошибках и отладке.
Если вам нужно объединить ваши сервисы, здесь вы узнаете чем хорош Camel. Если вы хотите научиться использовать что-нибудь новенькое, здесь мы начнём с азов. Если вам нравятся истории и оригинальные фишки, которые есть в каждой команде, то читайте дальше.
Читать полностью »

Производительность и цена – это два основных, наиболее значимых фактора в хостинге приложений. Мы часто спрашиваем себя, как тратить меньше, не ухудшая производительности приложений. В данной статье мы рассмотрим автоматическое управление памятью для Java-приложений, размещенных на облачном хостинге Infobox Jelastic с использованием сборки мусора и Jelastic GC Agent. В конце статьи небольшой сюрприз.

Для начала определим, что такое сборка мусора и что она делает для нашего Java-приложения. Затем поговорим подробнее от процессах сборки мусора в Jelastic.
Читать полностью »

Эта статья иллюстрирует т. н. компромисс скорости и памяти — правило, которое выполняется во многих областях CS, — на примере разных реализаций хеш-таблиц на Java. Чем больше памяти занимает хеш-таблица, тем быстрее выполняются операции над ней (например, взятие значения по ключу).
Время против памяти на примере хеш таблиц на Java
Читать полностью »

Так уж получилось, что я стал победителем конкурса от Microsoft и получил в качестве приза Nokia Lumia 710. После того, как на совместимость с мобильным IE были проверены все мои сайты, я подумал, что было бы неплохо протестировать уже сам смартфон в реальных условиях и написать обзор. Учебный год был закончен, и предстояла увлекательная летняя практика по Java, во время которой я и хотел протестировать смартфон… Но в результате, я больше программировал игру, чем разбирался с новым смартфоном.

Как в Магическом Электротехническом практика по Java прошла и немного про Lumia 710

Читать полностью »

Java Agent на службе JVM
Наверное многие слышали или сталкивались с таким параметром JVM как -javaagent, увидеть этот параметр вы могли используя Jrebel или Plumbr это могло выглядеть например так JAVA_OPTS=-javaagent:[path/to/]jrebel.jar или так -javaagent:/path-to/plumbr.jar
Хотя javaagent появился еще в версии java 1.5, многие разработчики так никогда и не использовали возможности агентов и имеют смутное представление что это такое.
Что же это за агент? Зачем он может нам понадобиться и как написать свой?
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js