Архив

Публикации с меткой ‘Java’

Простая экспертная система на Java

2 Февраль 2010 Vitaliy Juravskiy 234 View Comments

В прошлой моем примере на тему экспертных систем, я рассказывал о созданной “ЭС поиска неисправностей ПК”. ЭС была выполнена с использованиям языка Prolog и C++. В данном примере я расскажу, как этаже ЭС с тем же набором правил в базе знаний, была реализована на языке Java.

Читать далее...

UML плагин для Eclipse

17 Январь 2010 Vitaliy Juravskiy 263 View Comments

euml2 class diagram example eUML 2 - Удобный плагин, который может кроме построения различных типов UML моделей, строить уже по имеющимся классам модель, и наоборот по построенной модели сгенерировать классы – т.е. уже готовый каркас, а программисту необходимо будет написать реализацию методов, и протестировать все.

Для обновления Eclipse 3.5 Galileo используйте update site:

http://www.soyatec.com/update/galileo/

Доступна бесплатная версия плагина, для некоммерческого использования, построенные диаграммы, можно включать в проект, и также размещать в системе версий,  например SVN.

Официальный сайт проекта, доступен по адресу: http://www.soyatec.com/euml2/

Categories: Eclipse, IDEs Tags: , ,

Пример работы с протоколом HTTP в Java (java.net.*). POST и GET запросы

30 Декабрь 2009 Vitaliy Juravskiy 1,212 View Comments

world wide web В java.net входит набор классов и интерфейсов для работы с сетью по средством различных протоколов и технологий: TCP (серверные и клиентские) и UDP сокеты (sockets), Proxy, Cookies, HTTP – полный набор средств, чтобы создавать сетевые приложения любой сложности.

Не для кого не секрет, что взаимодействие браузера с HTTP сервером осуществляется по одноименному протоколу HTTP, и в основном используются PUT и GET запросы.

Задача: создать приложение, которое может отправлять запросы на сервер методом GET и POST.

Приступим к реализации.

Читать далее...

Оптимизация кода: Конкатенация строк в Java

6 Декабрь 2009 Vitaliy Juravskiy 443 View Comments

concat benchmark statistic Часто бывает необходимость использовать конкатенацию строк например при формировании отчетов или генерации других строковых наборов. У меня была однажды практика формирования больших отчетов, приходилось обрабатывать большие наборы данных, и при этом для уровня представления данные подготавливались в виде двумерного массива объекта java.lang.String, не очень хороший вариант, но это было обусловлено особенностями уровня представления. Формирование массива само собой происходило в двух вложенных циклах, а внутри второго происходила конкатенация с использования оператора “+”.

Работа алгоритма формирования отчета происходило очень долго, оптимизируя цикл, вынося создание объектов вне тела цикла, другие виды оптимизации, но прирост скорости выполнения был очень мал. Я долго не мог понять в чем проблема, пока не дошел до конкатенации.

Как оказалось виртуальная Java машина на каждую операцию “simple string” + создает новый объект типа java.lang.String, а теперь представим, что у нас эти операции производиться в теле цикла, а количество итерации большое – это равносильно вызову Thread.sleep(); на несколько десятков секунд. Рассмотрим следующий пример:

Читать далее...

Categories: Java Tags: , ,

Gzip сжатие в Java

4 Ноябрь 2009 Vitaliy Juravskiy 93 View Comments

Маленький пример по сжатию файла средствами jdk,  используя GZIPOutputStream. Также в данном примере будет затронута тема потоков.

Будем использовать два метода, первый чтение файла в массив байт readFile. Второй метод (gzipArray) производит сжатие массива байт с выводом в файл.

Читать далее...

Categories: Java Tags: , ,