Объектно-ориентированный язык программирования Java был разработан компанией Sun Microsystems, которая в дальнейшем вошла в состав корпорации Oracle.
Изначально Java разрабатывался для использования в бытовой электронике, но позже приобрел широкую известность в сфере информационных технологий и веб-разработки, где с успехом применяется и по сей день. Также Java широко применяется в мобильных устройствах для решения совершенно разнообразных задач — от создания развлекательных игровых приложений до серьезных бизнес-решений, таких как программы управления банковскими счетами, программы учета рабочего времени и многое другое.
Философию языка можно описать несколькими простыми правилами:
- объектно-ориентированный подход
- мультиплатформенность
- полномасштабная поддержка сетевого программирования
- безопасный запуск кода с удаленных ресурсов
- простота в использовании
Программы, написанные на Java являются универсальными, т. е. работают независимо от платформы. Осуществляется это с помощью компиляции программ в специальный байт-код, который распознается виртуальной Java-машиной, устанавливаемой на ту или иную платформу.
Реализованная в Java концепция виртуальной машины имеет свои достоинства и недостатки. К достоинствам можно отнести повышенный уровень безопасности при работе с Java-приложениями, так как виртуальная машина отслеживает все попытки несанкционированного доступа и при обнаружении таковых прерывает работу приложения. Минусом является высокая ресурсоемкость и сравнительно медленная работы Java-программ.
Одной из особенностей языка Java является хорошо проработанный механизм множественного наследования. Он дает возможность разрабатывать надежные графические приложения, используя уже готовые компоненты.
Java обладает также мощным инструментарием для работы с сетевыми протоколами, включая расширенную библиотеку для обработки протоколов TCP/IP и FTP.
Многие задачи для работы в сети решаются в Java гораздо проще, чем в других языках, а расширенный инструментарий для работы с сервером с помощью т. н. сервлетов существенно облегчает администрирование сетевых серверов.
Список возможностей Java довольно обширен. Вот лишь некоторые из них:
- управление памятью в автоматическом режиме
- поддержка шаблонов
- набор средств для работы со списками (списки, стеки, массивы и другое)
- широкий набор средств для работы с сетевыми протоколами(TCP/IP, FTP, RMI и другие)
- классы для обработки HTTP-запросов
- встроенный инструментарий для создания многопоточных приложений
- удобный унифицированный подход к взаимодействию с базами данных с помощью:
- отдельных запросов, реализуемых технологиями JDBC и SQLJ
- на объектном уровне с помощью технологий Java Data Objects и Java Persistance API
В стандартизированный пакет Java J2SE входит универсальная среда разработки JDK, в которую входит компилятор Java, набор стандартных библиотек, документация, примеры приложений, вспомогательные программы и исполнительная система Java (JRE). Стоит заметить, что интегрированная среда разработки на Java в данный комплект не входит. Поэтому программист, использующий стандартный пакет разработки, должен использовать внешний текстовый редактор для написания кода и производить компиляцию написанных им программ средствами командной строки.
Однако существует ряд бесплатных интегрированных сред разработки, облегчающих процесс создания Java-приложений. К их числу относятся Eclipse, NetBeans IDE, Borland JBuilder и другие. Большинство из них работают на основе JDK, включая данный пакет в комплект установки, либо требуя предварительной установки JDK.