Java (должно произносится
Джава, но используется и
Ява) — объектно-ориентированный язык программирования. Разработан в компании Sun Microsystems в 1995 году (теперь поддерживается компанией Oracle).
Особенностью этого языка программирования является то, что программа компилируется не в коды процессора, а в специальный байт-код, который потом исполняется виртуальной ява-машиной. За счет этого достигается кросплатформенность: программы написанные на Java запускаются и одинаково работают и в Windows и Linux и MacOS и т.д. без изменений исходного кода.
От аналогичного подхода к компилации в .NET отличается тем, что в Java виртуальная машина выполняет инструкции байт-кода, а в .NET программа "докомпилируется" перед запуском.
Платформа Java подразделяется на три типа:
- Java Micro Edition - версия языка для программирования мобильных устройств. За счет независимости программы от платформы, Java охватила огромную долю мобильников, в результате чего программа написанная на JavaME будет работать одинаково на разных мобильниках.
- Java Standart Edition - версия для компьютеров.
- Java Enterprise Edition - версия для приложений масштаба предприятия. Включает в себя работу с базами данных, web сервисами, прочими клиент-серверными примочками и так далее.
К языку прилагается огромное количество библиотек на все случаи жизни: от 2D и 3D графики, до баз данных и криптографии.
Библиотеки Java:
Скрытый текст:
- Swing - стандартная библиотека визуальных элементов (кнопки, чекбоксы и т.д.)
- Java2D и Java3D - графические библиотеки. Java2D используется для собдания собственных графических компонентов (особенно если требуется масштабирование, отрисовка текста под наклоном и т.д.) Java3D используется, соответственно при создании трехмерных приложений.
- JCE, JAAS, JSSE - библиотеки реализации криптографии, аутентификации и авторизации, поддержки протокола SLL соответственно.
- JDBC - работа с базами данных.
- JNI - интерфейс взаимодействия с программами, написанными на других языках.
- RMI, Jini - вызов удаленных методов (т.е. запуск функций на других компьютерах сети)
- JXTA - создание peer-2-peer приложений
- И еще туева хуча плюшек для сетевого взаимодействия, сервлетов и прочего. (Список есть тут)