Архив

Архив раздела ‘Java’

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

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

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

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

Правильное оформление кода в Java

10 Январь 2010 Vitaliy Juravskiy 107 View Comments

java-code-conventions-bit Если в команде разработчиков, все будут придерживаться общепринятых правил – использование шаблонов проектирования, одинаковое оформление кода, то им будет легче взаимодействовать, понимать друг другом написанный код, затраченное время на понимание – “эээ, а что ж тут блин написано?…” будет затрачено гораздо меньше.

Есть такой документ Code Conventions for the JavaTM Programming Language (HTML) в котором описано как должен оформляться код. Думаю каждый Java программист должен  знать свод  этих правил. Сам я очень долго привыкал и перестраивался, но за то результатами я доволен.

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

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

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

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

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

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

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

Обмен значениями между переменными без использования третьей (swap vars)

24 Декабрь 2009 Vitaliy Juravskiy 75 View Comments

На днях заинтересовал обмен значениями переменных без использования третьей, и нашел пару формул, одну из них оформил в пример: Читать далее...

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

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

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

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

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

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

Categories: Java Tags: , ,