17
March

Использование SQL/XML функций в Oracle

Posted in: Технологии XML, XPath, Базы данных, SQL, Oracle | 10 Comments

Начиная с девятой версии, Oracle предоставляет набор XML-related функций. Используя эти функции в запросах к реляционным данным можно получить данные в формате XML.
В данной статье я хочу описать SQL/XML функции Oracle (9i и выше), которые встречаются наиболее часто. Итак…
(more…)

16
March

Быстрая сортировка на Java (Quick Sort)

Posted in: Java technologies, J2SE | 9 Comments

Алгоритм Quick Sort является одним из самых быстрых алгоритмов сортировки. Его среднее время выполнения - O(n log n). Quick Sort реализуется с помощью рекурсии.
В этой статье представлен демонстрационный пример алгоритма быстрой сортировки на Java.
(more…)

14
March

Velocity для создания библиотек тэгов (Taglib)

Posted in: Java open-source проекты, Java technologies, J2SE | 4 Comments

Данная статья является продолжением статьи о Velocity Framework.
Taglib – один из подпроектов Jakarta. Это репозиторий готовых библиотек тэгов (custom tags). Тэги в последствии могут быть использованы при создании JSP-страниц. Преимущество использования таких тегов - отделение отображения веб-приложения от его логики.
В этой статье На конкретном примере я покажу как создавать тэги используя Velocity. Конечно их можно создавать и без этого движка, но при использовании Velocity достигается небывалая гибкость в поддержке тэгов.
Для начала придумаем задание. Пусть нужно создать тэг, отображающий таблицу с именем пользователя и адресом его сайта. В качестве параметра тэга будет выступать необязательный атрибут count для оганичения кол-ва пользователей при выводе. Итак, начнем.
(more…)

14
March

Анонимные классы в Java

Posted in: Java technologies, J2SE | 3 Comments

English version of this article you can find here.
Практически во всех статьях об inner классах допущен ряд ошибок по поводу анонимных классов:

  • они не имеют имени;
  • они не могут быть объявлены статическими;
  • они могут быть созданы только один раз при декларировании.

Это все неправда!
Допустим у нас есть следующий код:
(more…)

12
March

Шифраторы байт-кода (Java Obfuscators)

Posted in: Java technologies, J2SE, Полезные программы | 1 Comment

Код Java-программ преобразуется в байт-код после компиляции. Естественно возможен и обратный процесс. Существует огромное количество декомпиляторов, которые могут извлечь исходный код приложения в довольно хорошем качестве. Все это ставит под угрозу интеллектуальную собственность автора программы (алгоритмов).
Шифратор (obfuscator) - это программа, которая в большей или меньшей мере изменяет байт-код (или исходный код) Java приложения.
(more…)

7
March

Java-игра “Пятнашки” (Swing GUI game)

Posted in: Java GUI, Swing, AWT, SWT, Java technologies, J2SE | 10 Comments

Дело было вечером. Делать было нечего.
Вот и решил написать простенькую игрушку на Java. Первое, что пришло на ум, - знаменитая игра “пятнашки”.
Дружественный интерфейс :) решено было создать с использованием Java Swing.
(more…)

3
March

Одновременный запуск параллельных потоков (Java Threads)

Posted in: Java technologies, J2SE | 3 Comments

Потоки в Java (Threads) - не самая легкая для понимания вещь. Но знать, как они работают и взаимодействуют, должен каждый Java-программист.
В этой статье я хочу на примере показать, как можно реализовать практически одновременный запуск нескольких потоков.
Надеюсь, данная статья прольет свет на некоторые ваши вопросы по поводу многопоточности.
(more…)