Что Вы делаете, когда Ваше Java приложение потребляет 100% ЦП? Оказывается Вы легко можете найти проблемные потоки, используя встроенные Unix и JDK утилиты. Никакие инструменты профилирования не потребуются.
С целью тестирования мы будем использовать простую программу:
Читать полностью »
Метка «java» - 38
Какой Java поток нагружает мой процессор
2012-10-02 в 9:07, admin, рубрики: java, threads, переводы, метки: java, threadsScala как расширенная Java или Java++
2012-10-01 в 21:20, admin, рубрики: java, scala, метки: java, scalaJava существует достаточно долго, на ней написано огромное количество софта и она является лидером в своей области. Однако Java не лишена недостатков. При проектировании языка важным критерием была простота и легкость изучения языка, и эта простота заставляет писать огромное количество лишнего кода, что бы компенсировать недостаточную гибкость языка: паттерны проектирования, XML конфиги, AOP, гетеры-сеттеры, try catch finaly синтаксис и т.д. Так же очевидно что не для всех задач чистый ООП подход является оптимальным, некоторые задачи намного эффективнее выполнять в функциональном стиле.
Существует много разных языков — Groovy, Python, Ruby, JRuby и еще много других, которые потенциально могут заменить java. Так почему же именно Scala?
Читать полностью »
Очередной конфуз, regexp, или за что я не люблю java
2012-09-28 в 2:45, admin, рубрики: bug, java, python, regexp, script, tcl, проблемы программирования, Программирование, Регулярные выражения, метки: bug, java, python, regexp, script, tcl, проблемы программирования, регулярные выраженияНужно было мне намедни расширить Tokenizer для одного известного поисковика на джаве. Всяческие стандартные токенайзеры ну никак не хотели делать то, что нужно было, даже с включением разных токен фильтров типа WordDelimiter и ко. Кто в теме, знает какой с этим бывает геморрой, особенно если используем мультиязычные фильтры — токенайзер то один.
Так вот, на java крутить тест-кейсы довольно муторно (длинный код, вечный ескейп, долгий деплой, и т.д. и т.п.), я пытаюсь это делать как можно меньше, поэтому отрабатывал регулярки на тестах в tcl (ну люблю я этот язык).
Так вот накидал такое вот в тикле, даволен как слон все работает как хотел:
% join [regexp -inline -all {[w][w-&]+|[d-][d-*.,/]+}
"US-Währung, C&A, VW-Bus. 1.2.3 -23.456,78 12,345.00 12/01/2012"] " | "
US-Währung | C&A | VW-Bus | 1.2.3 | -23.456,78 | 12,345.00 | 12/01/2012
Немного поясню: нужно вырвать слова из текста, при этом соблюсти кое-какую логику на спецсимволах, чтобы ловить минус только как дефис или например точки и запятые в числах, или даты в разных форматах, но при этом более-менее хорошо отделять пунктуацию.
Короче, регулярка в порядке — лезем в джаву. Читать полностью »
Собственный Security Realm в GlassFish
2012-09-27 в 8:13, admin, рубрики: glassfish, java, security, метки: glassfish, java, security Ни для кого не секрет что сервера приложений существуют для того чтобы снять некоторую часть работы с разработчика и возложить её на уже готовые механизмы. В частности механизм аутентификации в сервере приложений Glassfish можно организовать с помощью так называемых Security Realms. Существуют несколько встроенных вариантов, такие как аутентификация через СУБД, LDAP, PAM, Certificate и обычное чтение из файла. Однако они могут нас не устроить ввиду своей ограниченности (LDAP, например, может работать только с одним наперед заданным доменом). Поэтому мы и рассмотрим создание собственного security realm’а.
Читать полностью »
Школа программистов HeadHunter 2012
2012-09-27 в 7:17, admin, рубрики: highload, java, python, Блог компании HeadHunter, Веб-разработка, обучение, Программирование, стажировка, студенты, Учебный процесс в IT, метки: highload, java, python, обучение, Программирование, стажировка, студенты
Мы рады сообщить, что у нас открыт очередной третий набор в школу программистов HeadHunter. Обучение будет проходить два раза в неделю, с декабрь 2012 по май 2013 года. Преподавать в нашей школе будут ведущие программисты компании и приглашённые эксперты, например, Zibsun, кроме того нашим студентам выплачивается стипендия и по окончании обучения все студенты получат сертификаты о прохождении курсов. Лучшим студентам гарантировано трудоустройство в компании HeadHunter, но про остальных мы тоже не забудем: им будут даны рекомендации в крупные ИТ-компании.
Читать полностью »
Аналог COM/OLE-доступа к 1С: Предприятие 8.2 для Linux и других ОС
2012-09-26 в 7:02, admin, рубрики: .net, 1c 8.2, 1c интеграция, 1c хостинг, 1С, java, Mono, Mono и Moonlight, net framework, silverlight, метки: 1c 8.2, 1C интеграция, 1c хостинг, 1с, java, Mono, net framework, silverlightElisy Business Connector позволяет взаимодействовать с системами 1С: Предприятие через Интернет-технологии. Решение является кроссплатформенным и более эффективным, чем традиционный доступ через COM/OLE.
Elisy Business Connector – это связующий компонент. Он позволяет связываться с опубликованными информационными базами 1С: Предприятие на Apache/IIS и в облачных сервисах. Для отправки запросов и получения ответов используется http-протокол и форматы JSON/XML. В решение вошли многие разработки команды Elisy Software Design в области интеграции с 1С: .Net Bridge, MdInternals, Decompiler, Proxy.
Используемый подход является кроссплатформенным: он не только позволяет обращаться к системам 1С: Предприятие, работающим на Windows и Linux, но также к системам, размещенным на облачных сервисах. Через Java и Mono поддерживаются мобильные и другие операционные системы. Сейчас компонент доступен для Java, .Net framework, Silverlight и Mono. Архитектура Business Connector устроена так, что в будущем позволит перенести компонент на другие популярные фреймворки. Внутри семейства систем 1С: Предприятие компонент доступен на Windows через технологию 1C.Net: Предприятие.
Business Connector является более эффективным, чем COM/OLE-доступ к 1С: Предприятие через тонкий клиент. Преимущества достигаются за счет архитектуры, спланированной для кроссплатформенной и многопоточной работы. На компьютере, с которого осуществляется доступ, можно не устанавливать 1С: Предприятие. Доступ можно организовать из любой операционной системы.
Планируется, что основное применение компонент получит при интеграции Интернет-проектов с конфигурациями 1С: Предприятие, такими как: Бухгалтерия и Управление Торговлей. Это могут быть Интернет-магазины или билинговые системы.
Создание собственного аппендера для logback
2012-09-25 в 10:32, admin, рубрики: java, logback, метки: java, logbackУверен, многие пользуются при разработке своих приложений и систем реализацией SLF4J API — logback-ом. Данный пост пишется для тех, кто более менее знаком этой технологией, но сталкивается с необходимостью разработки собственных аппендеров (от англ. appender).
Несмотря на большое количество существующих аппендеров, иногда при решении конкретной прикладной задачи проще и быстрее написать собственный — тем более, как мы увидим ниже, это достаточно просто.
Цель данной статьи — показать, с чего вообще начинать работу над собственным аппендером. На страницах подробных описаний того, как работает logback и что там есть что я, к сожалению, не нашел достаточно короткого и понятного how-to. Постараюсь восполнить этот пробел своей заметкой.
Читать полностью »
«Умный дом» собственными руками v2
2012-09-25 в 6:18, admin, рубрики: java, будущее здесь, Железо, кто читает тэги?, умный дом, метки: java, кто читает тэги?, умный домДобрый день, уважаемый %habrausername%!
Судя по предыдущим постам, многие из вас интересуются hand-made автоматизацей своего жилища. Я долго собирался с мыслями и идеями по итогам построения первого «умного дома» и теперь хочу поделиться своими наработками с вами.
Аппаратный блок сигнализации и умного дома с wifi/ethernet и 2 x usb host
2012-09-24 в 13:40, admin, рубрики: arduino, diy или сделай сам, java, maple, mips, OpenWrt, Raspberry Pi, stm32, Программинг микроконтроллеров, метки: arduino, java, maple, mips, OpenWrt, Raspberry Pi, stm32Продолжая свой пост habrahabr.ru/post/136811 хочу представит сообществу проект аппаратной части для сигнализации, получения данных с датчиков, удаленного управления нагрузкой, подключения HD веб камеры для видео наблюдения и аудио колонок для воспроизведения сетевого радио или аудиофайлов с flash. Ethernet/wifi интерфейс, openwrt linux, 2 доступных host USB входа для подключения вебкамеры/колонок с интегрированным usb audio и т.п.
С учетом реальной цены в России на Raspberry Pi, выбор сделан в пользу MIPS платформы.
Возможность разрабатывать ПО на java, C/C++, lua, python, perl, php, ruby, shell скриптах — языках поддерживаемых openwrt. Разработка для платы ввода/вывода используя arduino подобную среду разработки maple или eclipse
Похоже есть раздолье, для разработчиков и порог вхождения невысокий — не требуется знание ассемблера и RTOS для быстрого старта.
Что лучше, C++ или Java? Javascript!
2012-09-22 в 9:56, admin, рубрики: java, javascript, Песочница, метки: java, javascript Статья посвящена Java девелоперам, которых жизнь заставила или пока только заставляет двигаться вперед, к светлому agile будущему. Препологается, что читатель знаком с Java, Javascript и слышал про JSR 223.
Читать полностью »