войти зарегистрироваться

JAVAНепрерывный мониторинг JVM с помощью Zabbix

Предположим, у вас есть большое приложение написанное на Java. Это может быть web-сервлет размещенный в контейнере или standalone-сервис. В процессе разработки (да и во время эксплуатации) возникает необходимость отслеживать процессы, протекающие в JVM: работу garbage collector, использование памяти, жизненный цикл потоков, а так же иные специфичные для вашего проекта показатели по средствам MBean. Самый простой вариант — использовать профилировщик. Но увы, проблемы не случаются по расписанию, и невозможно заранее знать, когда нужно подключить профилировщик, а держать его постоянно включенным тоже не вариант. В таких случаях идеальное решение — непрерывный мониторинг. О нем и пойдет речь. Но для начала пара слов о классической профилировке.

JAVAОбъекты Java

Под впечатлениями от habrahabr.ru/blogs/java/134102/.

Недавно мне приходилось немного поковыряться внутри JVM. Довольно интересный опыт. Текст в вышеупомянутом топике не совсем сходится с моим опытом, но я не считаю себя обладателем абсолютной истины. Ниже я поделюсь с читателями небольшой частью моих экспериментов, которые касаются непосредственно объектов Java.

Подкасты«Разбор полетов» — episode 3 — Горький вкус загрузки классов

Я и коллега aib представляем вашему вниманию третий выпуск уже ставшего популярным в узких кругах, разговорного IT-тематического подкаста «Разбор Полетов».
В этом выпуске:
прослушан 228 раз

Блог компании JelasticJelastic PaaS — статистика использования баз данных, серверов и JVM в ноябре

Мы продолжаем делиться с вами статистикой использования программного стека на платформе Jelastic. Какими же были предпочтения девелоперов в прошлом месяце?

Статистика использования баз данных MySQL, MariaDB, PostgreSQL и MongoDB

Начнем с SQL баз. Как и прежде MySQL остается неоспоримым лидером. PosgreSQL занимает второе почетное место, за ней следует MariaDB. Единственная среди наших NoSQL баз, MongoDB показала очень хороший результат в ноябре.



Если сравнить текущие данные с октябрьскими, то можно сделать вывод, что количество фанов каждой из баз практически не изменилось.
Ситуация в регионах (Европа и Северная Америка).



Текущие цифры

Блог компании CiklumСиклум Java Субботник возвращается

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

В этот раз 10 декабря мы соберемся, чтобы обсудить что нового, интересного или полезного можно найти в старой доброй Java. Программа субботника еще формируется, поэтому, если вам есть что рассказать, обращайтесь к координатору мероприятия — Инне Туевой, она всегда поможет.

JAVANew day — new language!

Xtend


Xtend представляет собой статически типизированный язык программирования от команды Eclipse, который обладает тесной интеграцией и работает поверх JVM. Его корни лежат в языке программирования Java (кто бы мог подумать). Xtend обладает рядом концептуальных улучшений:
  • Выведение типов — нет необходимости постоянно указывать сигнатуры типов.
  • Полная поддержка Java Generics — включая все соответствия и правила приведения.
  • Замыкания — приятный синтаксис для анонимных классов.
  • Перегрузка операторов — позволяет писать более выразительный код.
  • Улучшенные switch выражения — на основе типов и приведения.
  • Каждое выражение имеет значение (en. «No statements — Everything is an expression»).
  • Шаблоны — с поддержкой пробелов.
  • Поддержка расширений — JSR-330.
  • Доступ к свойствам — синтаксический сахар над get/set.
  • Полиморфный вызов методов.
  • Транслируется в Java код, а не Bytecode — корректная работа с кодом, предназначенным для пратформ, таких как Android или GWT.

У разработчиков не стоит цели заменить Java. Библиотека Xtend является тонким слоем над JDK и работает равносильно с Java и Xtend. Разумеется, разработчики предоставляют современную IDE на основе Eclipse.

LispБудущее Лиспа

Это перевод статьи Стивена Дегутиса.

Будущее Lisp


В последнее время я часто стал задумываться о существующих диалектах Lisp и о том, в каком направлении мы двигаемся. В частности, я рассматривал возможность написания очередного диалекта Lisp, и те сферы, в которых бы он пригодился.

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

Положение на рынке


Традиционно, существует Scheme, который полезен разве что для преподавания в вузах из-за скудности поддерживаемых библиотек, есть также Common Lisp, который представляет из себя ужасную, страшную неразбериху (представьте C++, но с целым морем скобок).

TwitterМиграция с Ruby

imageУверен, что на Хабре обитает огромное число юзеров, облизывающихся при чтении описаний технологий и архитектур, используемых в молодых, динамичных и, что наиболее важно, быстрорастущих в своей пользовательской базе, компаний. К сожалению, относительно небольшое количество наших соотечественников работает в таких компаниях по всему миру, а те, кто все-таки трудится во внутренней кухне, связаны различными условиями трудовых договоров или банальным NDA, запрещающим сливать публике самые интересные подробности. Тем не менее, я лично знаю большое количество специалистов, особенно заинтересованных в высоких нагрузках и не знающих, где получить эту информацию из первых рук.

Эту проблему можно решить единственным способом — предоставить слово кому-то из менеджеров отдела разработки или любому другому человеку, занимающему адекватно высокий пост и разбирающемуся в разработке, а после — тянуть, тянуть из него все подробности. Примерно так поступили в Information Queue, опросив одного из инженеров Twitter'а — Эвана Уивера (Evan Weaver) о том, почему компания так долго развивавшаяся на «рельсах», решила переключиться на использование других технологий и какие это имело последствия.

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

Итак, история начинается в прошлом году, когда Twitter анонсировал изменения в архитектуре бэкэнда (message queue), а так же заявил о намерении переписать Twitter Storage на Scala, а весной началась работа по переписыванию всего поискового движка. Как часть этих изменений, БД MySQL (лежавшая в основе поиска) была заменена Lucene. И, наконец, совсем недавно команда разработчиков заявила о замене Ruby on Rails в области поиска — на его место встал Java-сервер, который они сами называют Blender. Результатом этой замены стало трехкратное снижение задержки при выполнении поискового запроса.

JAVAGroovy за 15 минут – краткий обзор

Groovy — объектно-ориентированный язык программирования разработанный для платформы Java как альтернатива языку Java с возможностями Python, Ruby и Smalltalk.

Groovy использует Java-подобный синтаксис с динамической компиляцией в JVM байт-код и напрямую работает с другим Java кодом и библиотеками. Язык может использоваться в любом Java проекте или как скриптовый язык.

Возможности Groovy (отличающие его от Java):

— Статическая и динамическая типизация
— Встроенный синтаксис для списков, ассоциативных массивов, массивов и регулярных выражений
— Замыкания
— Перегрузка операций

[http://ru.wikipedia.org/wiki/Groovy]

Более того, почти всегда java-код — это валидный groovy-код.

Я пиарюсь «Виртуальные машины» — пятидневный семинар в Петербурге. 25-29 апреля. Участие бесплатное

Компания Oracle приглашает вас принять участие в научно-техническом семинаре «Виртуальные машины».

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

Ориентировочный план семинара

1. Обзор и история развития виртуальных машин. Архитектура JVM.
2. Интерпретация и компиляция.
3. Управление памятью.
4. Многопоточность, синхронизация, вызовы библиотечных функций.
5. Многозадачность, кросскомпиляция, ромизация, двоичная конверсия.

Объем тем очень разный. Поскольку это именно семинар, то формат предполагает высокую степень интерактивности, и длительность и глубина рассмотрения тем зависит от проявленного публикой интереса.

Семинар пройдет в офисе компании Оракл в Санкт-Петербурге 25-29 апреля. Начало в 13:00 каждый день.
Адрес: Санкт-Петербург 10я Красноармейская 22А, 2 этаж (2022)

Участие бесплатное

По всем вопросам можно обращаться ко мне через ХабраПочту или Елене Блохиной tinyurl.com/43pnynr