Обновить
128K+

Java *

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

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

JavaFX — безыдейный HelloWorld

Время на прочтение5 мин
Охват и читатели51K
HellWorld
Описание запуска HelloWorld из примера, предложенного Oracle в «Getting Started with JavaFX», но безыдейно, то есть, без IntelliJ IDEA и вообще какой-либо IDE. Реализовано на ПК с Windows. Опус относится к классу «Чайник — чайнику». Внезапно оказалось, что для компиляции и запуска простейшего приложения из командной строки недостаточно информации туториала, в котором приведен код этого приложения.

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

Загружаем данные в Oracle

Время на прочтение14 мин
Охват и читатели94K
В своей предыдущей статье я показал, что при использовании асинхронных запросов, скорость опроса устройств по протоколу SNMP может достигать 9000 запросов в секунду (при условии, что у нас есть достаточное количество устройств для формирования такого потока ответов). Вопрос о том, что делать с этим потоком данных остался открытым.

Обычной практикой является обработка данных мониторинга посредством RDBMS (таких как Oracle Database). Но способны ли традиционные реляционные базы данных справиться с такой нагрузкой? Попробуем в этом разобраться.
Читать дальше →

2 «простых» вопроса по джаве

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

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

Когда-то давно на хабре была пара статей как не надо писать на java с интересными задачками по java.
Часть 1, Часть 2
Они очень интересные, но, к сожалению, автор не стал продолжать.

Представляю вашему вниманию еще 2 задачки (на большее не хватило сил. Оказывается, писать статьи не так-то просто.)

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

Java школа: обзор

Время на прочтение5 мин
Охват и читатели26K
Хабрчане, давайте знакомиться! Мы — Changellenge >> (от слов Change и Challenge) — занимаемся тем, что развиваем в России образование, нацеленное на практику. Для этого мы проводим серию кейс-чемпионатов под нашим именем Changellenge >> (в них участвуют около 20 000 человек ежегодно), а также помогаем крупным компаниям организовывать образовательные мероприятия. Сегодня мы хотели бы рассказать о втором направлении — программе подготовки молодых программистов Java Школа Дойче Банк, в которую, кстати, как раз сейчас проводится набор.

Вся информация о Школе предоставлена инсайдерами, а именно Юрием Рейманом (выпускник МГТУ им. Баумана, факультета информатики и систем управления) и Андреем Мерловым (выпускник МГТУ Станкин, специальность прикладная математика и ГУ ВШЭ, математические методы анализа экономики), выпускниками первого набора Java Школы в виде интервью.
imageimage

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

dCache — xранилище, где живёт ХИГГС

Время на прочтение3 мин
Охват и читатели7.3K
В последнее время было большое количество постов о ЦЕРНе и Большом Адронном Kоллайдере (БАК или LHC). Но не многие знают, что БАК производит ~20 ПБ данных в год. Порядка 50% всех данных хранится в dCache.

dCache является распределённой системой хранения данных, способной работать на обычном железе, с возможностью расширения посредсвом добавления новых узлов. Всё, что нужно для работы на узле, — это JVM (так как всё написано на джаве) и файловая система, где, собственно, и хранятся данные. Типичные инсталляции используют Linux(RHEL/SL/CentOS 6) или Solaris с XFS или ZFS, соответсвенно. В связи с натурой экспериментальных данных dCache не предусматривает изменение хранимых файлов.

dCache разрабатывается с 2000 года и с 2002 года используеться в более чем 80 научных центрах мира, включая Россию. Самые маленькие системы состоят из одного узла в несколько ТБ, самые большие состоят из ~500 узлов с суммарным дисковым пространством в 22 ПБ.

Подробности

Первоначальная настройка 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.8K
Представим себе ситуацию, когда есть написанные тесты на 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 мин
Охват и читатели24K
На конференции 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.2K
Как известно, в данный момент в Сан-Франциско проходит весьма интересный ивент — Java One. Несколько дней презентации достижений индустрии, общения и обмена опытом. Облачные технологии, и облачные IDE в частности, естественно, не упустили момент, чтобы похвастаться своими последними разработками и бета-фишками. Codenvy, среди причих, привлекли внимание к своей демонстрационной кабинке фишкой, позволяющей клонировать среду разработки, конечно же, вместе с проектом. В своей документации компания предоставляет довольно подробную информацию о Codenvy Factory. Я лишь сделаю краткое резюме функционала и приведу пример Factory кнопки:
Читать дальше →