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

Приветствую!

Немного лирики

Сегодня, 2015-03-21, я решил сделать пол-дела, и всё-таки начать писать статью о том, как же всё-таки начать понимать, что же делать с OOM, да и вообще научиться ковырять heap-dump'ы (буду называть их просто дампами, для простоты речи. Также я постараюсь избегать англицизмов, где это возможно).
Задуманный мной объём «работ» по написанию этой статьи кажется мне не однодневным, а посему статья должна появиться лишь через пару недель спустя день.

В этой статье я постараюсь разжевать, что делать с дампами в Java, как понять причину или приблизиться к причине возникновения OOM, посмотреть на инструменты для анализа дампов, инструмент (один, да) для мониторинга хипа, и вообще вникнуть в это дело для общего развития. Исследуются такие инструменты, как JVisualVM (рассмотрю некоторые плагины к нему и OQL Console), Eclipse Memory Analyzing Tool.
Очень много понаписал, но надеюсь, что всё только по делу :)
Читать полностью »

По традиции, открываем новый сезон конференций Soft Labs мероприятием по разработке на Java. В субботу 28 марта в течение шестичасовой оналйн сессии мы представим на ваш суд четыре новых доклада. Акцент будет сделан на практических кейсах, которые пригодятся в работе, как новичку, так и продвинутому специалисту. Читать полностью »

Для разработки надо идти в ногу со временем, и хорошее место узнать что-то новое и получить ценный опыт — концеренции и мастер классы. Я вот решил собрать некоторые значащие конференции и их видеоканалы с выступлениями. Старался не включать мелких конференций, слишком отдалённых от программирования (по PM и маркетингу), или не выкладывающих видео.

К сожалению некоторые конференции

  • заказывают сторонних людей, которые выкладывают всё на свой канал вместе с другими конференциями или личным хламом;
  • встраивают в свой сайт без возможность шаринга, а порой и вообще закрывают под ключ или с оплатой;
  • не выкладывают материалы и трёхлетней давности;
  • не заботятся о качестве видео — тёмный зал, совершенно не видно презентации, нет монтажа, неполадки со звуком, неслышно вопросов и т.п.

Понятно что у организаторов своя бизнес-модель и возможности, но хочется унифицировать и мотивировать организаторов относиться к докладам и их авторам с уважением, выкладывать видео со временем, синхронизировать со слайдами.

С видео Без нормального видео

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

Перед вами моя первая статья на этом замечательном ресурсе, потому не судите слишком строго. Конструктивная критика, поправки и дополнения приветствуются.

Так как это моя первая статья здесь, предлагаю начать со знакомства. Кому-то может показаться, что мой ник( First Row) звучит слишком пафосно, поэтому хочу, так сказать, прояснить ситуацию. Я часто подписывался «First row viewer», что означает «зритель в первом ряду». Но при регистрации аккаунта разработчика на Google Play оказалось, что символов слишком много. Пришлось оставить просто «First Row».

Что-ж, мы несколько отклонились от темы, и многим, наверняка, начала порядком надоедать моя болтовня( а внизу-то букв еще много). Поэтому предлагаю перейти непосредственно к нашей теме.

Прежде всего скажу, что здесь мы не будем разбирать IP-маршрутизацию, работу ARP-протокола и теорию самого Spoofing'а (на эту тему я видел пару прекрасных статей на Хабре). Так же предполагается, что вы знаете языки С, Java и имеете хотя бы минимальные навыки разработки под Android. Перейдем сразу к практике, в нашем случае к реализации. Для начала разберемся с инструментами. Лично я пользуюсь Eclipse с плагином ADT и установленным Android NDK (в нашем случае большая часть кода будет писаться как раз в нэйтиве). Возможно, вы будете редактировать сорцы в блокноте и собирать ручками через терминал, или использовать Android Studio, или что нибудь еще. В этом случае, может оказаться, что некоторые мои рекомендации можно будет опустить. В данной статье же я хочу рассказать в том числе о некоторых подводных камнях и граблях, на которые наступил, когда взялся за свой первый проект под Android.
Читать полностью »

Как-то раз посмотрел я видео о поющих флопах и на гору списанных компов. Решил сделать что-то подобное.

готовый девайс

Делать на Arduino как остальные? Да вы что, серьёзно? F*uck the system, как говорится! Решено было делать на Atmega8A, потому что только она и была под рукой. Провода тоже для слабаков, поэтому я отыскал HC-05 (зачем лишние сопли?).

Поехали!
Читать полностью »

Это перевод вот этой публикации из блога Гийома Лафорджа, официального менеджера проекта Groovy.

Команда Groovy рада объявить о своём намерении присоединиться к Apache Software Foundation (ASF).

Вслед за недавним объявлением от Pivotal об окончании финансирования постоянных разработчиков проекта Groovy, команда решила, что было бы целесообразно продемонстрировать Groovy-сообществу, что в долгосрочной перспективе проект не исчезнет. Groovy будет развиваться вне зависимости от наличия финансирования частными организациями и спонсорами, а так же вне зависимости от каких-либо изменений в команде разработчиков.
Читать полностью »

Когда Алексей TheShade Шипилёв рассказывал про особенности поведения Java-строк с нулевым значением хэшкода, он приводил в качестве примера строку "лжеотождествление электровиолончели". Когда FindBugs предупреждает вас о проблемах с вычислением абсолютного значения хэшкода, равного Integer.MIN_VALUE, он приводит примеры строк, имеющих такой хэшкод — "polygenelubricants" или "DESIGNING WORKHOUSES". Откуда взялись эти примеры? Как самому составить красивую строку с заданным наперёд хэшкодом?

Различных хэшкодов существует 232 — немногим более четырёх миллиардов, а слов в человеческом языке — порядка ста тысяч. Найти одно слово с нужным хэшкодом почти нереально, а вот сочетание из двух слов вполне можно. Если добавить ещё вариации вроде предлогов, то появится выбор.

Перебирать все возможные комбинации долго, но можно процесс оптимизировать, выполнив несложные преобразования над формулой хэшкода строки. Давайте напишем генератор словосочетаний с заданным хэшкодом. Писать будем на чистой Java 8, в модном нынче функциональном стиле.
Читать полностью »

Лет пять назад online IDE были такими себе игрушками, вызывающими дикий восторг у гиков и любителей всего нового. Да, что тут говорить, вероятнее всего, сами создатели таких сервисов не до конца понимали, куда же заведут их стремления и проделанная работа. Все начиналось с банального онлайн блокнота с парой-тройкой менюшек и компилятора для пары-тройки языков. Вообще, довольно-таки интересно наблюдать развитие этого рынка. Так, в 2011 был опубликован обзор облачных IDE, среди которых есть и герои нынешней статьи. Два года спустя появилась еще одна статья со сравнением двух сильнейших игроков рынка — Codenvy и Cloud9. Что ж, на дворе 2015 год, а, следовательно, время для очередного обзора.Читать полностью »

Идея этого топика родилась из этого комментария.

Итак имеем: класс без конструкторов, необходимо создать экземпляр этого класса. На Java такого сделать нельзя, так что придется напрямую манипулировать байткодом. Идея состоит в том, чтобы вызвать NEW, но при этом не вызывать <init>. Но тут есть трудность, спецификация JVM говорит что так делать нельзя, Читать полностью »

В предыдущей статье мы познакомились с промышленным стандартом Modbus и встроили его поддержку в Arduino, осталось состыковать устройство с платформой OpenHAB.

В этот раз мы узнаем, как настроить плагин и интерфейс OpenHAB для работы с устройством, основы адресации и отладки протокола Modbus. В работе представлен эксперимент с исходным кодом плагина, а на страничке vk.com/myremoter можно обсудить открытый контроллер умного дома, который мы будем использовать в следующих экспериментах.

Но, давайте ещё раз посмотрим, какие преимущества даст нам применение стандарта Modbus?
Современный дом — сложное инженерное сооружение, где управление освещением не самая главная функция. Кроме датчиков в доме устанавливают системы кондиционирования и вентиляции, управления отоплением, дренажными насосами и скважинами. Такие задачи можно поручить специальному или промышленному контроллеру, в этом случае протокол Modbus поможет объединить все инженерные системы в единую сеть, а простой и недорогой контроллер, работающий на одной с ними шине, добавит дополнительный контроль и функционал, сэкономив немало средств. В пользу этого низкие требования к оборудованию, открытость стандарта, массовость его применения, хотя, быть может, основной секрет популярности Modbus его гибкость при стыковке программ и оборудования.

Ну что же, пора приступать к работе. Читать полностью »


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