Обновить
128K+

Java *

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

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

Крадущийся тигр, затаившийся дракон

Время на прочтение8 мин
Охват и читатели39K
Java vs. C#… Что может быть лучше вечного спора? Нет, данная статья не посвящена очередному бенчмарку, и даже не является holy war, не стоит даже вопрос: «кто круче».

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

Очень часто коллеги, пишущие на Java, даже не подозревают о многих (!!!) вещах, которые предоставляет (или, наоборот не предоставляет) C#.

Если Вам интересно посмотреть на C# и Java без субъективизма, а также узнать внутреннее устройство той или иной возможности, тогда вперед.
Читать дальше →

OpenShift: «hello, cloud!»

Время на прочтение13 мин
Охват и читатели13K
Это продолжение заметки про использование OpenShift в качестве java-хостинга.
В прошлый раз мы разобрались как создавать приложения в облаке OpenShift. В наше распоряжение предоставлен бесплатный хостинг с сервером JBoss AS 7.1 и репозиторием git. Теперь попробуем написать что-нибудь чуть сложнее, чем обычный «hello, world», и использующее возможности JBoss AS и средств разработки JBoss Tools.


Одна из распространенных задач: разрешить доступ к определенным ресурсам только авторизованным пользователям, с разделением в соответствии с присвоенными ролями. Предлагается сделать это с использованием встроенного в jboss логин-модуля, а именно реализацией org.jboss.security.auth.spi.DatabaseServerLoginModule. Как не трудно догадаться, в этом случае пользователи и их роли будут храниться в базе данных.

Схема данных достаточно проста: это таблица APP_USER (пользователи), APP_ROLE (справочник ролей) и APP_MEMBERSHIP (назначенные роли), через которую реализуется связь много-ко-многим между первыми двумя таблицами.

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

Взаимодействие Java и… Ассемблера?

Время на прочтение2 мин
Охват и читатели17K
В Java существует возможность использования программного кода, реализованного на других языках программирования, так называемый JNI. Можно написать динамически линкуемую библиотеку, затем загрузить ее в Java-коде и использовать функции оттуда, объявив их как native методы загрузившего ее класса. JNI создавался в первую очередь для того, чтобы выполнять машинно-зависимые действия (а также, возможно, улучшить производительность критических по скорости частей приложения) на C/C++, но никто не мешает нам написать библиотеку и на ассемблере.
Читать дальше →

Java: Тестирование алгоритмов компрессии – 16 файлов, 5 типов

Время на прочтение4 мин
Охват и читатели6.8K
Здравствуй «ХабраСообщество»!
Выкладываю небольшой обзор и результаты тестирования основных алгоритмов сжатия с Java.
Кому интересно прошу под кат, кому нет — просьба не минусовать и сказать, что тема не достойна хабра – уберу в черновики.
Читать дальше →

ObjectDB — система управления базами данных для Java приложений

Время на прочтение4 мин
Охват и читатели4.3K
ObjectDB является объектно-ориентированной, написанной на Java СУБД, которая при всех своих впечатляющих тестах на скорость и используемая (как следует из рекламы на официальном сайте) такими организациями как HP и Novell малознакома для многих программистов (Сам я об этой базе узнал буквально месяц назад, и использовал ее только один раз в рамках учебного проекта, да и мой препод узнал о ней как раз из моего проекта). За продолжением прошу под кат.
Читать дальше →

UI для Firebird на Java

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

Вступление


Год назад потребовалось написать БД в рамках курсовой работы. Особого труда это не вызвало. Выбрал тему, начертил ER-диаграмму, определился с полями таблиц и начал написание. Язык долго не выбирал, на тот момент начинал работать на Java в Eclipse. Выбрал СУБД, мой выбор пал на Firebird. Добавил таблиц через IBExpert и был всем доволен, как только написал UI для пары таблиц понял что можно создавать остальные с помощью копипаста. Код получился ужасный(ООП? не не слышал, так можно это было охарактеризовать), но на тот момент меня все радовало. Прошел год и по воле случая пришлось пересматривать свой код. Это было нечто страшное с непонятной структурой.

Перед собой решил поставить несколько целей:
— простое добавление таблиц
— применить, наконец, ООП
— применить шаблоны проектирования(для обучения)

Также сейчас непонятно почему людям в институте сложно писать простые БД (или лень), в любом случае, хочу показать простоту написания БД и познакомить со своим видением приложения (на мой взгляд очень простым).
Читать дальше →

Bomberman Online и хабраэффект — 450 игроков на одной карте. Отчёт и детали игрового движка

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


Как и обещали в топике-анонсе нашей игры, выкладываем отчёт о хабраэффекте и детали игрового движка.
Читать дальше →

Запускаем Tomcat на OpenShift

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

Прочитав статью на Хабре про OpenShift,
мне сразу захотелось подружиться с этой платформой. Все-таки халявный удаленный комп с 512MB оперативки и 1GB места лишним в хозяйстве точно не будет. ;) Тем более, что можно запустить не только предлагаемые самой платформой веб-сервера, но и что-нибудь свое. Выбор пал на Tomcat с небольшим личным проектом.

Далее опишу алгоритм реализации этой идеи:

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

Создание игры на Java без сторонних библиотек, часть первая

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


Введение и подготовка



Привет хаброжители. Данный пост является «рерайтом» моего поста для песочницы. На этот раз я постараюсь охватить больше тем, чем тогда.

Почему Java?

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

IDE

Начнем с выбора IDE. Я являюсь фанатом Eclipse и посоветую вам его.
Если же почему-то вам он не понравился, вы можете использовать NetBeans, Intellij IDEA или командную строку и ваш любимый редактор.

JDK

И скачаем JDK последней версии: JDK 7u4

Скорее всего проблем с установкой IDE у вас не возникнет, а если у вас 64-битная система, все же посоветую устанавливать 32-битный Eclipse, так как иногда бывают ошибки и Eclipse у вас просто не запустится.

Под катом мы приступим к созданию игры.
Читать дальше →

Все информационные технологии в кратком изложении

Время на прочтение1 мин
Охват и читатели8K
Основная проблема разработчика, да и любого IT-специалиста, в том что надо постоянно изучать что-то новое (вот тут про это хорошо написано), а времени нет. Причём для каждой технологии есть Толстая Книга, излагающая на тысяче страниц то, что можно изложить на десяти. Складывается ощущение, что издатели платят авторам за количество страниц.
Читать дальше →

Groovy как лучшая Java

Время на прочтение1 мин
Охват и читатели20K
Groovy можно использовать по разному — для скриптов, для Grails, для быстрого написания прототипов, для DSL и т.д.

Меня же Groovy всегда привлекал как улучшенная Java. В самом деле — почти любой Java код будет валидным кодом Groovy — т.е. если не помнишь как что то делать в Groovy-way, можно всегда писать так, как принято в Java, а если помнишь — вот тебе и Closures, и удобные списки, и много других замечательных вещей.

Единственное, что мешало использовать Groovy для разработки production кода — отсутствие ошибок компиляции в большом числе случаев. Например если вызываешь несуществующий метод, обращаешься к несуществующей переменной и т.д.

Для многих Groovy фреймворков и библиотек это реально нужно (см. например работу с XML в Groovy), но если я пишу обычный код, мне это серьезно мешает.

Так вот, наконец в Groovy 2.0 появилась возможность сказать — проверяй в этом классе типы, существование методов и переменных!

Возьмем, например, такой класс:

Топологии серверов приложений WebSphere Application Server для обеспечения высокой доступности

Время на прочтение4 мин
Охват и читатели23K
Здравствуй, Хабр!

В этой статье я хочу рассказать какие есть подходы для обеспечения отказоустойчивости и масштабирования инфраструктуры серверов приложений WebSphere Application Server 7 компании IBM.
Читать дальше →

Генерация случайных чисел с помощью Random.org

Время на прочтение3 мин
Охват и читатели147K
Кто пытается арифметическими методами генерировать случайные числа, тот, конечно, живет во грехе.
— Джон фон Нейман

Есть такой хороший сервис random.org, который уже не раз упоминался на хабре. Основная задача сайта — генерация случайных чисел с использованием атмосферных шумов. На том же сайте можно найти результаты тестов и сравнения случайных и псевдослучайных генераторов с объяснениями что лучше и почему. В данной статье описывается простенькая библиотека для использования API сайта.

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

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

Обход бинарных деревьев: рекурсия, итерации и указатель на родителя

Время на прочтение5 мин
Охват и читатели204K
Основы о бинарных деревьях представлены, в том числе, здесь . Добавлю свои «5 копеек» и данным постом систематизирую материалы, связанные с обходом бинарных деревьев, а именно сравнений возможностей рекурсии и итераций, а также обсуждение возможностей использования указателя на родительский узел.
Читать дальше →

Groovy как скриптовый язык и DSL для Java

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

Зачем?


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

Наверное, самыми простыми примерами таких сценариев, с которыми все сталкивались в том или ином виде, могут служить обычные пакетные файлы — bat или sh.
Читать дальше →

Темная цветовая схема для IntelliJ IDEA: решение проблемы с неокрашенным деревом проекта

Время на прочтение1 мин
Охват и читатели35K
С некоторых пор мне стали нравиться темные цветовые схемы для текстовых редакторов. Соответственно, мне захотелось окрасить в темные цвета и редактор моего основного рабочего инструмента IDE IntelliJ IDEA. Но после установки темной схемы я увидел, что схема применилась только к редактору, а окраска остальных элементов не изменилась. Например, дерево проекта не перекрасилось.


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

OpenShift в качестве Java – хостинга

Время на прочтение7 мин
Охват и читатели76K
image
Не секрет, что уже около полугода RedHat продвигает собственный облачный продукт, причем не привычное хранилище файлов, а сервис для облачных вычислений, с бесплатной версией Developer Edition. В качестве одной из поддерживаемых платформ указывается Java, что для многих может оказаться весьма кстати на фоне достаточно малого числа бесплатных Java – хостингов. Причем, если брать java, то тут предлагается одна из современнейших платформ, а именно Jboss AS 7.1, что означает совместимость с большинством технологий и проектов, разрабатываемых под эгидой Jboss. Широкие возможности сервиса сочетаются с простотой, при этом разработчики настолько уверены в качестве и доступности сервиса, что не постеснялись даже написать про него «easy-peasy».

Недавно пришлось попробовать OpenShift в работе, как Java – хостинг для небольшого частного проекта. Впечатления, если кратко – да, у разработчиков RedHat всё получилось, все подробности далее…
Читать дальше →

Строковые коллекции только для чтения: экономим на спичках

Время на прочтение4 мин
Охват и читатели3.7K
Нередко случается, что какие-то данные программа загружает в память и оставляет их там надолго (а то и до конца работы) в неизменном виде. При этом используются структуры данных, оптимизированные как для чтения, так и для записи. Например, вы вычитываете из базы Ensembl список идентификаторов всех генов человека (включая всякие микроРНК и т. д. — всего чуть больше 50000). Если их прочитать в стандартный ArrayList, то на 32-битной HotSpot вы потратите чуть больше 4 мегабайт. Можно ли сэкономить память, зная, что коллекция больше не будет меняться?
Читать дальше →

Интеграция Groovy в JEE приложение

Время на прочтение6 мин
Охват и читатели17K
В одну телегу впрячь не можно
Коня и трепетную лань
                        А.С. Пушкин

Всем привет!

В данной заметке я хочу рассказать, как интегрировать язык Groovy в существующее JEE приложение на основе Maven. Выражаю благодарность Антону Щастному schaan за разрешение на использование исходного кода его проекта в качестве отправной точки. Поэтому данный топик можно считать продолжением его статьи Учимся готовить: Spring 3 MVC + Spring Security + Hibernate.

Начнем.
Читать дальше →

Решение суда: Google не нарушает авторское право Oracle на Java API

Время на прочтение1 мин
Охват и читатели5.5K
Итак, в прошлый раз судья постановил, что Google не нарушает патентов Oracle в своей операционной системе Android. Но не было понятно, что делать с авторским правом на 37 Java API и 9 строчками кода rangeCheck. Теперь же судья Уильям Хаскел Элсап постановил, что Google не нарушал авторских прав Oracle на API по причине отсутствия этих самых прав. Суд решил, что эти API не подлежат копирайту, поэтому отсутствует состав преступления.
Читать дальше →