Новости
Новости партнеров
Пресса о нас
Клиенты
Проекты
Отзывы
Лицензии
Вакансии
Sun Microsystems
Dell Computers Corporation
Oracle Corporation
EMC Corporation
Fujitsu Siemens Computers
APC Corporation
Cisco Systems
EATON Corporation
Серверы
Сетевое оборудование
Системы хранения данных
Рабочие станции,
персональные компьютеры
Программное обеспечение
Системы бесперебойного
питания
Портативные компьютеры
Комплекс решений для финансового рынка
Инфраструктурные решения
Заказные разработки
Техподдержка
Гарантийное обслуживание
 

 

 

 

 

 

 

Карта сайтаНаписать письмоГлавная

Программное обеспечение Sun Microsystems

Вы находитесь в разделе > Продукты > Программное обеспечение Sun Microsystems > Среда программирования Java

Java платформа

"Написано однажды, работает везде!" Технология Java - это объектно-ориентированная, платформо-независимая, многопоточная среда программирования. Это основа для "умных" Web- и сетевых сервисов, она позволяет вам надежно и безопасно наращивать информационную структуру вашего предприятия благодаря платформенной независимости. Все виды систем могут взаимодействовать друг с другом - начиная со смарт карт и заканчивая суперкомпьютерами - независимо от аппаратной платформы и системного программного обеспечения.

Как это работает?

Когда программный продукт, написанный на языке программирования Java компилируется с использованием технологии Java, получается байткод. Виртуальная машина Java может интерпретировать этот байткод на любой платформе, на которой установлена виртуальная машина Java. Это означает, что нет необходимости в портировании программ.

Посмотрим на это с другой стороны. Допустим, вы говорите только по-английски. И преположим вы выступаете на международной конференции, на которой присутствуют люди, разговаривающие только на своем родном языке. Следует ли вам нанять переводчиков для каждого участника? Или вам следует обеспечить каждого приглашенного словарем Английский - какой-либо другой язык?? Эти решения очень дорогие, требуют много времени и допускают большую вероятность ошибок. Но, предположим, вы придумали язык, который понятен для любого, кто носит специальные наушники (очень дешевые), в которые встроен универсальный переводчик, мгновенно переводящий с нового языка. Тогда любые языковые барьеры исчезнут навсегда. Вам только следует выучить этот язык и заказать наушники. Этот легко переводимый язык и есть аналог Java технологии, а универсальный переводчик - аналог виртуальной машины, который переводит код в корректную семантику.

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

С технологией Java вы можете использовать одинаковые приложения для любого типа машин - персонального компьютера, компьютера Макинтош, сетевого компьютера или даже новых технологий, как например телефоны с доступом в Internet.

Основные характеристики

Простота

Простота языка входит в ключевые характеристики Java: разработчик не должен длительное время изучать язык, прежде чем он сможет на нем программировать. Фундаментальные концепции языка Java быстро схватываются и программисты с самого начала могут вести продуктивную работу. Разработчиками Java было принято во внимание, что многие программисты хорошо знакомы с языком С++, поэтому Java, насколько это возможно, приближен к С++.

В Java не включены некоторые редко используемые, плохо понимаемые и усложняющие работу возможности С++, которые приносят больше проблем, чем преимуществ. Пришлось отказаться от

  • перегрузки операторов (но перегрузка методов в Java осталась),
  • множественного наследования,
  • автоматического расширяющего приведения типов.

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

Объектно-ориентированность

Язык Java с самого начала проектировался как объектно-ориентированный. Задачам распределенных систем клиент-сервер отвечает объектно-ориентированная парадигма: использование концепций инкапсуляции, наследования и полиморфизма. Java предоставляет ясную и действенную объектно-ориентированную платформу разработки.

Программисты на Java могут использовать стандартные библиотеки объектов, обеспечивающие работу с устройствами ввода/вывода, сетевые функции, методы создания графических пользовательских интерфейсов. Функциональность объектов этих библиотек может быть расширена.

Надежность

Платформа Java разработана для создания высоконадежного прикладного программного обеспечения. Большое внимание уделено проверке программ на этапе компиляции, за которой следует второй уровень - динамическая проверка (на этапе выполнения).

Модель управления памятью предельно проста: объекты создаются с помощью оператора new. В Java, в отличие от С++, механизм указателей исключает возможность прямой записи в память и порчи данных: при работе с указателями операции строго типизированы, отсутствуют арифметические операции над указателями. Работа с массивами находится под контролем управляющей системы. Существует автоматическая сборка мусора.

Данная модель управления памятью исключает целый класс ошибок, так часто возникающих у программистов на С и С++. Программы на Java можно писать, будучи уверенным в том, что машина не "повиснет" из-за ошибок при работе с динамически выделенной памятью.

Безопасность

Java разработана для оперирования в распределенных средах, это означает, что на первом плане должны стоять вопросы безопасности. Средства безопасности, встроенные в язык, и система исполнения Java позволяют создавать приложения, на которые невозможно "напасть" извне. В сетевых средах приложения, написанные на Java, защищены от вторжения неавторизованного кода, пытающегося внедрить вирус или разрушить файловую систему.

Независимость от архитектуры

Java разработан для поддержки приложений, внедряемых в гетерогенные сетевые среды. В подобных средах приложения должны исполняться на различных аппаратных архитектурах, под управлением различных операционных систем и во взаимодействии с интерфейсами различных языков программирования. Для обеспечения платформо-независимости программ компилятор Java генерирует байт-код - архитектурно-нейтральный промежуточный формат программы, создаваемый для эффективной передачи кода на различные аппаратные и программные платформы. При выполнении программы байт-код интерпретируется исполняющей машиной Java. Один и тот же Java-байткод будет исполняться на любой платформе.

Переносимость

Архитектурная независимость - лишь составная часть переносимости. В отличие от С или С++ в Java не существует понятия "зависимости от реализации", когда речь идет о размерности базовых типов. Форматы типов данных и операции над ними четко определены. Тем самым, программы остаются неизменными на любой платформе - не существует несовместимости типов данных на аппаратных и программных архитектурах.

Архитектурная независимость и переносимость программного обеспечения Java обеспечивается виртуальной машиной Java (Java Virtual Mashine - JVM) - абстрактной машиной, для которой компилятор Java генерирует код. Специальные реализации JVM для конкретных аппаратных и программных платформ предоставляют уже конкретную виртуальную машину. JVM базируется на стандарте интерфейса переносимых операционных систем (POSIX).

Высокая производительность

Производительность всегда заслуживает особого внимания. Java достигает высокой производительности благодаря специально оптимизированному байт-коду, легко переводимому в машинный код. Автоматическая сборка мусора выполняется как фоновый поток с низким приоритетом, обеспечивая высокую вероятность доступности требуемой памяти, что ведет к увеличению производительности. Приложения, требующие больших вычислительных ресурсов, могут быть спроектированы так, чтобы те части, которые требуют интенсивных вычислений, были написаны на языке ассемблера и взаимодействовали с Java платформой. В основном, пользователи ощущают, что приложения взаимодействуют быстро, несмотря на то, что они являются интерпретируемыми.

Интерпретируемость

Java-интерпретатор может выполнять Java байт-код на любой машине, на которой установлен интерпретатор и система выполнения. На интерпретирующей платформе фаза сборки программы является простой и пошаговой, поэтому процесс разработки существенно ускоряется и упрощается, отсутствуют традиционные трудные этапы компиляции, сборки, тестирования.

Многопоточность

Большинству современных сетевых приложений обычно необходимо осуществлять несколько действий одновременно. В Java реализован механизм поддержки легковесных процессов-потоков (нитей). Многопоточность Java предоставляет средства создания приложений с множеством одновременно активных потоков.

Для эффективной работы с потоками в Java реализован механизм семафоров и средств синхронизации потоков: библиотека языка предоставляет класс Thread, а система выполнения предоставляет средства диспетчеризации и средства, реализующие семафоры. Важно, что работа параллельных потоков с высокоуровневыми системными библиотеками Java не вызовет конфликтов: функции, предоставляемые библиотеками, доступны любым выполняющимся потокам.

Динамичность

По ряду соображений Java более динамичный язык, чем С++. Он был разработан специально для подстройки под изменяющееся окружение. В то время как компилятор Java на этапе компиляции и статических проверок не допускает никаких отклонений, процесс сборки и выполнения сугубо динамический. Классы связываются только тогда, когда в этом есть необходимость. Новые программные модули могут подключаться из любых источников, в том числе, поставляться по сети. В случае с браузером HotJava и другими подобными приложениями интерактивный выполняемый код может быть загружен откуда угодно, что позволяет производить прозрачные модификации приложений. В результате возможно создание интерактивных служб, безболезненно модифицируемых, обслуживающих большое количество клиентов и обеспечивающих развитие электронного бизнеса через Internet.

Вывод

Если описанные выше характеристики рассматривать по отдельности, то их можно найти во многих программных платформах. Радикальное новшество заключается в способе, предлагаемом Java и системой выполнения, который сочетает в себе все характеристики для предоставления гибкой и мощной системы программирования.

Разработка приложений на Java приводит к получению программного обеспечения, которое:

  • переносимо на разные архитектуры, операционные системы и графические пользовательские интерфейсы
  • безопасно
  • высокопроизводительно

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


Поиск по сайту

Новости
30 декабря 2012г
Техподдержка системы "Сигнатор" теперь осуществляется и в новогодние праздники
Решения
"Эльбрус-2000"
Комплекс решений для финансового рынка
Инфраструктурные решения
Заказные разработки

 

Rambler's Top100

 
© ЗАО "Эльбрус-2000", Группа компаний "Эльбрус"
105066, г. Москва, улица Нижняя Красносельская, д.35 стр. 50, завод САМ, Схема проезда.
Тел.: +7 (495) 363-95-50, Факс: +7 (495) 363-95-51, E-mail: info@elbrus.ru
Создание сайта elbrus.ru - Алгософт