Обновить
512K+

Java *

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

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

Java vs Go

Время на прочтение6 мин
Охват и читатели39K
Последнее время язык Go стал очень обсуждаемым, и довольно часто его сравнивают с Java. Неделя Go принесла нам очень интересную ознакомительную статью Dreadd, и мне стало интересно, как справится с описанной задачей Java.
По мере написания кода стало понятно, что и в Java тоже есть много интересного, но мало освещённого в прессе. Я постарался использовать самые интересные нововведения из Java7, надеюсь тут найдут полезную информацию как начинающие, так и опытные, но ленивые Java разработчики.
Почитать чужой код

Java Stored Procedure в субд Oracle на примере формирования PDF-файла

Время на прочтение4 мин
Охват и читатели20K
Всем доброго времени суток!
Недавно имел опыт создания функций (хранимых процедур) на языке Java в СУБД Oracle (Java Stored Procedures). Постараюсь описать шаги по созданию таких функций, расмотрев пример работы с pdf-файлом.

Вот, что для этого потребуется:
  • СУБД Oracle (в моем случае версии 10)
  • библиотеки iText (версия 1.4.8)
  • Java-код, реализующий требуемые функции

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

Игра в стартап на семинарах по Java

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

Иллюстрация HttpSession в момент работы с куками
Эта статья обязана своим появлением новому требованию к курсу «Углублённое программирование на Java», который я веду в Технопарке Mail.Ru в МГТУ им. Баумана. Это требование было сформулировано в начале лета и звучало примерно так: «Ещё больше практики!».
Читать дальше →

JavaFX, HelloWorld — продолжение

Время на прочтение6 мин
Охват и читатели26K
HelloWorld из примера, предложенного Oracle в «Getting Started with JavaFX», на ПК с Windows. Развитие простейшего приложения до окна ввода логина и пароля. По-прежнему с использованием командной строки с приоткрытием недоговоренностей туториала, в котором приведен код этого приложения.

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

А знаете ли Вы, что возвращает .getClass()?

Время на прочтение2 мин
Охват и читатели113K
Я думаю, почти любого Java разработчика когда-то спрашивали на собеседовании: «Какие есть методы у класса Object?»
Меня, по крайней мере, спрашивали неоднократно. И, если в первый раз это было неожиданностью (кажется, забыл про clone), то потом я был уверен, что уж методы Object'а-то я знаю;)

И каково же было мое удивление, когда спустя несколько лет разработки я наткнулся на собственное незнание сигнатуры метода getClass()

Под катом пара слов про Class, .class, .getClass и, собственно, сюрприз, на который я наткнулся.
Читать дальше →

Что я не ожидал увидеть в тесте Java Programmer I (1Z0-803)

Время на прочтение3 мин
Охват и читатели41K
Здесь нету примеров идеального кода, пяти шагов «как получить сертификат с вероятностью 100%, гарантия». Нету даже фотографий котиков :/
Читать дальше →

System.exit(). Какой код выхода использовать?

Время на прочтение2 мин
Охват и читатели65K
Что является причиной того, что java программа прекращает любую свою активность и завершает свое выполнение? Основных причин может быть 2 (JLS Секция 12.8):

  • Все потоки, которые не являются демонами, выполнены;
  • Какой то из потоков вызывает метод exit() класса Runtime или же класса System и
    SecurityManager дает добро на выполнение exit().

В обоих случаях в процессе завершения работы JVM передает своему родительскому процессу (процессу который запустил JVM) код выхода — значение типа int, на основании которого родительский процесс может делать выводы об успешности или не удачности выполнения поставленных перед JVM задач.
Читать дальше →

Алгоритм распределения данных в кластере серверов в dCache

Время на прочтение2 мин
Охват и читатели4.8K
В продолжение статьи о dCache расскажу о некоторых деталях внутренней реализации.

Одна из важных задач распределённых систем — как распределить нагрузку по имеющимся узлам. Для распределённого хранилища эта задача особо важна, так как решение принятое на стадии записи влияет на то, как данные будут прочитаны.

Показать, как это сделано в dCache

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 несложно.
Но менять позицию сообщения для падающего теста уже сложнее, тут нужно править ручками.
Не знаю, насколько актуальна эта проблема, но я с ней сталкивался много раз.
Читать дальше →