Java приложения, Java-программы, Java технологии и секреты, J2SE, J2EE, проект Jakarta


14
October
2006

Генератор случайных чисел (java.util.Random)

Posted in: Java technologies, J2SE | 6 Comments

Как говорится: случайность - частный случай закономерности. Поэтому наверняка вы используете случайные числа в некоторых своих разработках.
В Java есть класс для работы со случайными (точнее псевдослучайными) числами - java.util.Random. Тем не менее, некоторые люди пользуются им не совсем так, как надо.
Пример:
(more…)

6
October
2006

Игра “Меморина” (Java Swing GUI Game) и проблема с ImageIcon

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

Ну прямо гейм-девелопер какой-то.
Попросили меня написать маленькую игру�?ечку с использованием графической библиотеки Java Swing. �?гра всем знакома и называется “Меморина”.
Думаю, заказчик не будет сильно зол за то, что я выложу игру на всеобщее обозрение…
Еще столкнулся с такой проблемой: при загрузке картинок из jar-файла возникает исключительная ситуация ImageFormatException, хотя при запуске из IDE все проходит без о�?ибок.
(more…)

27
September
2006

Если MP3-плеер не понимает русский язык (mp3-player java-utility)

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

MP3 плеер вещь хоро?ая и полезная…
К сожалению, иногда он “расставляет все точки над i”, равно как и над e, и над о, и так далее, в названиях песен. А все потому, что не понимает русский (и/или украинский) язык.
Хоро?о, если на сайте производителя есть множество софта, в частности для перепро?ивки и загрузки ?рифтов. А если нет?
Тогда вы попали туда, куда нужно.
(more…)

22
June
2006

Регулярные выражения в Java (regexp)

Posted in: Java technologies, J2SE | 16 Comments

Регулярные выражения (Regular Expressions) позволяют сопоставлять текст с указанным ?аблоном, а также выполнять замену текста. Эти операции осуществляются с помощью универсальных символов, которые специальным образом интерпретируются.
Регулярные выражения используются в боль?ом количестве языков программирования.
В Java тоже есть пакет, который позволяет работать с ними - java.util.regex.
(more…)

29
May
2006

Тестирование и внутренние классы (inner class)

Posted in: Тестирование кода, Java technologies, J2SE | 5 Comments

При тестировании отдельных классов Java-приложения, многие используют метод main или создают дополнительный тестовый класс. Отдельный класс луч?е использовать при интегральных тестах, а метод main после выпуска новой версии класса/пакета чаще всего нужно удалять.

В этой статье я вновь возвращаюсь к внутренним классам (inner class) для ре?ения описанной вы?е проблемы. На этот раз мы рассмотрим статические внутренние классы.
Статический внутренний класс описывается с модификатором static внутри декларации другого (обрамляющего) класса. Вот пример такого класса:
(more…)

25
April
2006

Anonymous inner classes in Java

Posted in: Java technologies (translated), Java technologies, J2SE | No Comments

The Russian version of this article can be found here.
There are a lot of articles through Internet which have mistakes regarding anonymous inner classes in Java. Anonymous inner class:

  • has no name;
  • can’t be declared as static;
  • can be instantiated only once.

Let me show you the truth.
Consider the following code:
(more…)

16
March
2006

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

Posted in: Java technologies, J2SE | 16 Comments

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

14
March
2006

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

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

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

14
March
2006

Анонимные классы в Java (anonymous inner classes)

Posted in: Java technologies, J2SE | 11 Comments

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

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

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

12
March
2006

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

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

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