23 июля 2019 года    
Вторник | 06:55    
Главная
 Новости
Базы данных
Безопасность PC
Всё о компьютерах
Графика и дизайн
Интернет-технологии
Мобильные устройства
Операционные системы
Программирование
Программы
Связь
Сети
 Документация
Статьи
Самоучители
 Общение
Форум





Разделы / Программирование / Java
  1. Ява медленно работает
    Миф о том, что программы написанные на Java медленно работают когда-то был действительностью. Изначально виртуальные машины, на которых выполнялся байт-код Java, были несовершенны и , к тому же, язык Java и виртуальная машина разрабатывались не для компьютеров, в привычном их понимании, а как некая универсальная среда для различных устройств, где скорость работы программ была не критична, да и объемы данных были совсем не те. Разница в скорости выполнения одинаковых задач между обычным компилируемым кодом и интерпретируемым кодом Java могла достигать сотен раз. Да-да, Java код интерпретируемый. Сегодня же скорость работы байт-кода на современных виртуальных машинах уступает лучшим компиляторам машинных кодов всего лишь на несколько десятков процентов, а в некоторых случаях, даже и превосходит их! Т.е. выполнение программ на виртуальных машинах в плотную приблизилось по скорости по выполнению программ, специально скомпилированных в машинные коды. "Такого не может быть!" - Воскликнут одни - "Интерпретируемый код, выполняемый виртуальной машиной, никогда не обгонит компилируемый код, выполняемый напрямую процессором!". И они будут правы. Но с тех пор, когда появилась Java, утекло уже много воды. И Java байт-код теперь уже не интерпретируется виртуальной машиной, а компилируется, да еще и оптимизируется, причем динамически!
    Автор: Владислав Кравченко, Григорий Григоренко
  2. На Яве сложно программировать
    Миф о сложности программирования на Ява основан, большей частью, на стандартной библиотеке классов. Разработчики Ява предприняли героическую попытку создать что-то вроде "универсальной библиотеки программиста", включающую в себя большое количество полезных алгоритмов, с которыми часто сталкиваются при разработке любых типов программ. Можно сказать, что это им удалось. Стандартная библиотека Ява имеет древовидную структуру с разделением функций по уровням и включает большое количество разнообразных классов.
    Автор: Владислав Кравченко, Григорий Григоренко
  3. Ява работает везде одинаково
    "Создаешь один раз - используешь где угодно". ("Write once - run anywhere"). Вторая часть лозунга создателей Явы содержит утверждение, что Ява-программа работает везде одинаково. К сожалению, в действительности все не так просто. Ява-машины различных компаний на различных платформах НЕ 100% совместимы друг с другом. Да, отличия эти можно считать мелочами, но в информационной индустрии и мелочи важны. Конкретный пример. Установите версию 2 Ява-платформы от Sun под Windows NT и запустите тест, который интенсивно выделяет участок памяти и тут же теряет на него указатель.
    Автор: Владислав Кравченко, Григорий Григоренко
  4. Ява - это язык программирования
    Существует мнение, что Java это некий язык программирование. Но это на самом деле всего лишь заблуждение. Да Java это еще и язык программирования. Сейчас же под Java следует понимать не только сам язык программирования, но и весь комплекс технологий, саму платформу Java. Java - не один язык программирования
    Автор: Владислав Кравченко, Григорий Григоренко
  5. Комлекс технологий Java
    Комлекс технологий Java весьма обширн. Поэтому-то и затруднено использование технологий Java в маленьких компаниях. Имеющийся штат IT специалистов просто не в состоянии обеспечить качественную поддержку всех используемых продуктов и систем. Обычно в таких компаниях работают не более 3-4 человек, знакомых с Ява. И,как правило, это не профессионалы высокого класса , небольшой компании они не по карману. Дела же со средними по размеру компаниями обстоят уже лучше. Эти компании обычно имеют достаточно средств для найма спецалистов высокого уровня и обучения их необходимым технологиям. Однако, применение Java, как базовой технологии, в подобной компании может быть начато только волевым решением IT менеджера. Подобное решение зачастую бывает не в пользу Java. И этому есть несколько причин. Первая, куда девать уже имеющийся штат программистов и специалистов? Переучивать - долго и результат заранее не известен. Уволить - тоже нельзя, поскольку обучение новых сотрудников специфике предприятия затянется на такое же время, как и обучение Java уже существующих сотрудников. Приходится искусственно раздувать штат, что не всегда уместно. Поскольку это не только увеличение фонда заработной платы, но дополнительное оборудование, помещения и т.д. Что для компании средней руки будет весьма заметным расходом. Другая причина - боязнь нового. Java сравнительно новая технология, а большинство людей с опаской относятся ко всему новому. Да и искать специалиста с опытом работы с Java от 10 лет тоже достаточно глупо. А вот в крупных компаниях уже достаточно и средств и помещений для новых специалистов. Некоторые компании, чтобы не остаться на обочине жизни, вытиснутые другим гигантом или шустрым новичком, постоянно вынуждены испытывать новые технологии, пытаться их применять у себя.
    Автор: Владислав Кравченко, Григорий Григоренко
  6. Ява - только для аплетов и Интернет
    Java нераразрывно связывают с аплетами. И действительно, аплеты, это неотъемлемая часть как языка, так и платформы Java в целом. Аплеты - удачный маркетинговый шаг Sun. Без аплетов мир о Java не узнал бы так быстро.
  7. Действительно ли язык программирования Ява унаследован от C++?
    Действительно ли язык программирования Ява унаследован от C++? Скорее нет, чем да. Идея Sun заключалась в том, чтобы упростить обучение Явы, сделав ее синтаксис похожим на наиболее распространенный язык программирования. Это должно было, в конечном итоге, стимулировать и упростить переход на Яву С-программистов. В то же время, в Яве заложены идеи и механизмы, почерпнутые из ряда других систем и языков программирования. Взять хотя бы контроль выхода за границу массива (Паскаль). Или тот факт, что компиляция Ява-программ является раздельной, классы разбиты по пакетам. Это является одним из вариантов модульного программирования (как, скажем, в Модула-2), отличающемся от концепции независимой компиляции файлов C++. Некоторые новации были взяты из неизвестных широкой публике языков и систем. К примеру, принцип интерфейса классов взят из языка Objective C, разработанного компанией NeXT. Механизм обработки исключительных ситуаций почти полностью позаимствован из Модулы-3. Принцип одинарного наследования, взятый на вооружение языком Java (вместо более известного по C++ множественного наследования), был положен в основу Смолтока, Модулы-3 и Оберона. Средства многопоточного программирования построены на основе Модулы-3 и Ады (хотя идеологи Java подчеркивают здесь связь с языками Mesa и Cedar).
    Автор: Владислав Кравченко, Григорий Григоренко
  8. Растровые изображения в Java.
    Вначале о модели растровых изображений в java. В java используется следующая модель представления растрового изображения: производитель - потребитель - наблюдатель и класс утилит Image. Производитель реализует интерфейс ImageProducer, потребитель - ImageConsumer, а наблюдатель - ImageObserver из пакета java.awt.image. Иллюстрацией работы этой модели может стать процесс загрузки изображения из сети. Вначале продюсер читает размеры картинки и методом void setDimension(int width, int height) передаёт потребителю размеры картинки, потом, в случае gif файла, читает таблицу цветов изображения, производитель создаёт новую таблицу цветов, роль которой выполняет IndexColorModel и методом setColorModel пересылает её потребителю. В случае jpeg файла производитель пересылает DirectColorModel потребителю тем же методом. После этого производитель информирует потребителя методом setHints, в каком порядке он будет выдавать информацию, собственно кодирующую изображение. Этот порядок может быть следующим: выдавать картинку горизонтальными линиями, в произвольном порядке, одним "куском", покадрово (в случае наличия анимации), одиночными точками или постепенно в порядке сверху-вниз, справа-налево. После установки порядка выдачи, производитель начинает методом setPixels заполнять буфер потребителя. Соответственно, в зависимости от выбора передачи изображения, это происходит мгновенно (как в случае MemoryImageSource - одного из классов, реализующего интерфейс ImageProducer) или постепенно, по мере получения информации из потока и раскодирования её, как это получается при загрузке картинки из jpeg или gif файла из сети или с диска. По завершении передачи данных, производитель вызывает метод ImageComplete. Если конец передачи данных произошел из-за ошибки, этот метод вызывается с флагом ImageConsumer.IMAGEERROR, если из-за отмены пересылки, то с флагом ImageConsumer.IMAGEABORT. При пофреймовой загрузки анимированного файла, по окончанию загрузки каждого фрейма тоже вызывается метод ImageComplete, но с флагом ImageConsumer.SINGLEFRAMEDONE. По полному завершению процесса без ошибок, выбрасывается флаг ImageConsumer.STATICIMAGEDONE.
  9. Говорящая Java!
    Добавьте голосовые возможности в ваши апплеты и приложения на Java 1.3 Содержание В этой статье Тони Лотон (Tony Loton) показывает как реализовать простой голосовой движок используя менее 150 строк кода на Java, без дополнительного оборудования и без вывода нативных библиотек. Далее он предоставляет небольшой zip файл, содержащий все необходимое для того чтобы заставить ваше Java приложение говорить -- просто забавы ради или для более серьезных задач. И, если вы впервые сталкиваетесь с Java Sound API, эта статья может послужить неплохим введением. (1,800 слов в англ. оригинале)
    Автор: Тони Лотон
  10. Рекомендации по разработке JavaBeans
    Данный документ написан потому, что бины, созданные в соответствии с принятой спецификацией, не всегда могут работать исправно. Спецификация JavaBeans документирует только основные требования для того, чтобы создаваемый код считался бином. Данный документ содержит дополнительные указания, которые позволят вам разрабатывать хорошие бины, способные правильно функционировать практически в любой среде, включая наиболее распространённые интерактивные среды разработки (IDEs[1]) и броузеры
Страницы:1 2 3 4 5 6 7 8


Лента новостей


2006 (c) Copyright Hardline.ru