Обновить
130.26

Java *

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

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

Первоначальная настройка Tomcat и его регистрация в NetBeans

Время на прочтение3 мин
Охват и читатели134K
Мне необходимо было настроить и запустить Tomcat на Mac OS X (Mountain Lion) и зарегистрировать данный сервер приложений (контейнер сервлетов) в NetBeans.
Для того чтобы это сделать, я выполнил следующие пункты.
Читать дальше →

java-object-merger — больше чем просто маппер объектов

Время на прочтение8 мин
Охват и читатели27K
Всем привет! Хотел бы представить вам новую библиотеку на java для маппинга/мержинга объектов, которую я “скромно” позиционирую как возможную альтернативу dozer-у. Если вы разрабатываете enterprise приложения на java, вам не безразлична эффективность вашей работы, и хочется писать меньше скучного кода, то приглашаю почитать дальше!

UPD. Выложено в центральный репозиторий мавена
<dependency>
        <groupId>net.sf.brunneng.jom</groupId>
        <artifactId>java-object-merger</artifactId>
        <version>0.8.5.1</version>
</dependency>


UPD2. Версия 0.8.4



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

Почему SNMP это не очень просто?

Время на прочтение17 мин
Охват и читатели162K
Давным давно, на Хабре была опубликована статья, рассказывающая о том, как использовать популярную библиотеку, для работы с SNMP из Java-приложения. Поддерживая, в целом, начинание автора, я хочу остановиться на тех сложностях, которые могут возникнуть в реальном проекте, использующем SNMP.
Читать дальше →

(Почти) все доклады конференции Joker 2013

Время на прочтение9 мин
Охват и читатели7.9K
Всем привет!

Итак, до питерской Java-конференции Joker 2013 осталось чуть больше недели. У нас в сетке осталось место только для трёх докладов, остальные — готовы. Если вы вдруг по какой-то причине ещё не знаете о нашей конференции, то почитайте о ней в моей предыдущей статье.

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

О докладах Joker 2013

Ещё одна сортировка распределением

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

Когда речь заходит об эффективных алгоритмах сортировок, эрудированный хабраюзер сразу же припомнит неувядаемую «быструю сортировку», новомодную «сортировку Тима», легендарную «сортировку слиянием» и даже мудрёную «интроспективную сортировку».

Не подвергая сомнению эффективность вышеприведённых методов, предлагаю Вашему вниманию сортировку, которая при определённых входных условиях легко уделывает по скорости любой другой алгоритм.
О чём, собственно, речь?

Новая олимпиада по новому языку: открываем регистрацию

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


Компания JetBrains открывает регистрацию на Kotlin Challenge — соревнование по программированию для тех, кто хочет попробовать новый язык программирования для платформы Java.

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

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

Важно:
Читать дальше →

Общий API для JUnit и TestNG

Время на прочтение2 мин
Охват и читатели4.7K
Представим себе ситуацию, когда есть написанные тесты на JUnit`е и все работает отлично (ну хотя бы тесты написаны).
Но появляется чудо-идея, что TestNG был бы для этих тестов удобнее. Не будем вдаваться в холивар, какой из фреймворков лучше, круче или удобнее. Но факт в том, что API у них разный.

Конечно заменить поиском assertArrayEquals на assertEquals несложно.
Но менять позицию сообщения для падающего теста уже сложнее, тут нужно править ручками.
Не знаю, насколько актуальна эта проблема, но я с ней сталкивался много раз.
Читать дальше →

Введение в Nashorn

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

Введение


imageNashorn* — движок JavaScript, разрабатываемый полностью на языке программирования Java компанией Oracle. Основан на Da Vinci Machine (JSR 292) и будет доступен в составе Java 8 (релиз которой ожидается в марте 2014 года). Стоит отметить что выполнение JavaScript (и поддержка скриптов в целом) была уже в Java 6, но в ней использовался движок Rhino, также написанный на Java, но поддерживаемый Mozilla Foundation.

О списке нововведений в Java 8 уже писали ранее. В данной статье будет приведена пара простых примеров, которая даст вам представление об использовании Nashorn.
Читать дальше →

Сериализация в Java: как заглянуть внутрь черного ящика

Время на прочтение9 мин
Охват и читатели16K
Испокон веку в Java есть чудесный механизм сериализации, который позволяет, не прилагая особых умственных усилий, сохранять в виде последовательности байт сколь угодно сложные графы объектов. Формат хранения хорошо документирован, есть куча примеров, сериализованные объекты «весят» вполне себе немного, пересылаются по сети на раз, есть куча возможностей для кастомизации… Все это звучит прекрасно, но только до тех пор, пока вы не останетесь один на один каким-нибудь многомегабайтным бинарным файлом, содержащим очень-очень ценные и нужные именно сейчас данные.

Как голыми руками залезть в этот файл, и понять, что же хранится внутри этого огромного сериализованного графа объектов, не имея исходного кода? На эти и многие другие вопросы может ответить Serialysis – библиотека, которая позволит вам детально проанализировать сериализованные java-объекты (сериализованная форма — это мой вариант перевода выражения serial forms, решил не уходить далеко от оригинала). Таким образом можно получить информацию об объекте, которая не доступна через его публичный API. Библиотека также является полезным инструментом при тестировании сериализации ваших собственных классов.
Читать дальше →

Azul Zulu — JVM для облака или просто порт OpenJDK на Windows?

Время на прочтение7 мин
Охват и читатели23K
На конференции JavaOne 2013, которая недавно завершилась в Сан-Франциско, компании Microsoft Open Technologies и Azul Systems анонсировали Zulu — порт OpenJDK для облачной платформы Windows Azure. Учитывая, что три месяца назад Oracle и Microsoft объявили о партнёрстве в области облачных технологий, многие ожидали, что именно Oracle выпустит JVM для облачной платформы от Microsoft. Однако такую JVM выпустила Azul Systems, многолетний лицензиат Java SE, известный своими высокопроизводительными решениями для серваков с большими хипами.

В первой части статьи мы попробуем разобраться, кто такой этот Zulu и что нам от него ожидать. Это только начало пути или уже готовое решение? Во второй части мы перейдём к распаковке Zulu Technology Preview и, в качестве побочного эффекта, посмотрим, чем же Oracle так нашпиговала свою JDK, что та весит в полтора раза больше Zulu.



Многабукф про Java, Azul, Microsoft и Oracle

Копаемся в памяти JVM. Манипуляции с флагами

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


HotSpot JVM имеет множество опций для отслеживания происходящего в виртуальной машине: PrintGC, PrintCompilation, TraceClassLoading и т.п. Как правило, они включаются параметрами командной строки, например, -XX:+PrintGCDetails. Однако порой возникает необходимость включить или выключить такой флаг непосредственно во время работы приложения, когда перезапуск JVM с другими параметрами невозможен. Этого можно добиться как штатным, так и хакерским способом, причем последний и мощнее, и интереснее. Впрочем, внимания заслуживают оба.

Из данной статьи вы узнаете:

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

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

Наконец-то! Hard-float Oracle Java на Raspberry Pi

Время на прочтение1 мин
Охват и читатели6.4K
Одной из основных целей создания и поддержки Малинки была поддержка всех основных языков программирования. Однако, до недавнего времени нерешенной проблемой оставалась Java.
Как стало известно примерно 12 часов назад, наконец-то в репозитории Raspbian была добавлена hard-float Oracle Java 7 JDK.
В последующие сборки Raspbian Java JDK будет включена автоматически, а пока ее можно установить ручками:
sudo apt-get update && sudo apt-get install oracle-java7-jdk

HBase, загрузка больших массивов данных через bulk load

Время на прочтение4 мин
Охват и читатели12K
Привет коллеги.
Хочу поделиться своим опытом использования HBase, а именно рассказать про bulk loading. Это еще один метод загрузки данных. Он принципиально отличается от обычного подхода (записи в таблицу через клиента). Есть мнение, что с помощью bulk load можно очень быстро загружать огромные массивы данных. Именно в этом я решил разобраться.
Читать дальше →

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

Победители Duke's Choice Awards 2013

Время на прочтение3 мин
Охват и читатели4.6K
Привет Хабр!

Прошел ровно год с тех пор, как наш проект Jelastic получил самую престижную награду в мире Java — Duke's Choice Award (в рамках конференции JavaOne). Еще раз спасибо всем хабравчанам за поддержку!

В этом году мы также активно принимаем участие в конференции JavaOne, правда уже не в качестве номинантов. Мы рады находиться в самом эпицентре событий и сегодня хотим предоставить вашему вниманию короткий обзор победителей Duke's Choice Award 2013, ведь такую награду удается заполучить только самым инновационным, продвинутым и грандиозным Java-проектам:

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

Codenvy Factories: клонирование среды разработки в один клик

Время на прочтение3 мин
Охват и читатели4.1K
Как известно, в данный момент в Сан-Франциско проходит весьма интересный ивент — Java One. Несколько дней презентации достижений индустрии, общения и обмена опытом. Облачные технологии, и облачные IDE в частности, естественно, не упустили момент, чтобы похвастаться своими последними разработками и бета-фишками. Codenvy, среди причих, привлекли внимание к своей демонстрационной кабинке фишкой, позволяющей клонировать среду разработки, конечно же, вместе с проектом. В своей документации компания предоставляет довольно подробную информацию о Codenvy Factory. Я лишь сделаю краткое резюме функционала и приведу пример Factory кнопки:
Читать дальше →

Ускорение вычислений с помощью GPU, теперь на Java!

Время на прочтение2 мин
Охват и читатели23K
Именно так заявил технический директор IBM Джон Дуимович (John Duimovich) в своем выступлении на конференции JavaOne 2013. Он отметил, что ускорители GPU обладают невероятной вычислительной мощью и их применение для вычислений в Java позволит ускорить сложные вычисления и обработку больших массивов данных. Использование GPU для вычислений в Java открывает множество новых перспектив как для Java-разработчиков, так и для производителей GPU.
Читать дальше →

Чтение конфигурационных файлов в Java: nProperty

Время на прочтение10 мин
Охват и читатели90K
image
Многие разработчики сталкиваются с необходимостью чтения конфигурационных (*.ini, *.prop, *.conf, etc.) файлов в разрабатываемых приложениях. В Java есть стандартный класс Properties, с помощью которого можно очень легко загрузить ini-файл и прочитать его свойства. При большом объеме конфигурационных файлов чтение и запись настроек в объекты превращается в очень нудную и рутинную работу: создать объект Properties, конвертировать каждую настройку в нужный формат и записать его в поле.

Библиотека nProperty (Annotated Property) призвана упростить этот процесс, сократив примерно в два раза требуемый код для написания загрузчиков настроек.

Чтобы показать, каким образом возможно обещанное сокращение кода в два раза, ниже приведены два примера: в первом примере используется стандартный класс Properties, во-втором — nProperty.

Прошу под кат за подробностями

Пулы соединений к БД — зачем и почему

Время на прочтение5 мин
Охват и читатели87K
Когда Ваш проект начинает пользуется популярностью и каждая миллисекунда обработки запроса от пользователя становится критической, приходится искать узкие места в системе. Часто больше всего времени занимает выполнение SQL запроса из приложения к базе данных. Попробуем разобраться, что можно оптимизировать в программе при работе с БД.
Читать дальше →

Java-конференция Joker: предварительная программа, Unconference и другие подробности

Время на прочтение6 мин
Охват и читатели6.9K
Привет, хабр!

Как многие из вас уже знают, 15 октября в Питере пройдёт Joker 2013, конференция по Java-технологиям, организатором которой выступает сообщество JUG.ru, а генеральным спонсором — компания «Одноклассники». Конференция ориентирована на профессионалов в области разработки ПО на Java. Участников ожидает более 30 докладов от гуру Java-разработки на русском и английском языках, стенды компаний-лидеров в области Java-разработки и зона свободного общения, где можно будет пообщаться с друзьями и коллегами или просто отдохнуть.

Что ожидает участников:
  • 14 октября: мастер-классы
  • 15 октября: 4 трека, 30 докладов
  • 16 октября: закрытый Unconference!

Подробно о конференции Joker 2013

Багтрекер OpenJDK стал публичным

Время на прочтение2 мин
Охват и читатели8.7K
Привет, хабр!

У меня для тебя отличные новости: OpenJDK-шная JIRA стала открытой для всех! Адрес: http://bugs.openjdk.java.net

В старом сановском багтрекере нумерация багов была сквозной, независимой от проекта. В JIRA всё устроено немного не так: каждый проект, как известно, имеет некоторый префикс (в нашем случае это «JDK»), после которого идёт дефис и номер бага. Соответственно то, что раньше в bugs.sun.com было багом 4459438 в JBS получило номер JDK-4459438.

Узнать подробности!

Вклад авторов