Технология Java включает в себя язык программирования и платформу.
Java - это высокоуровневый объектно-ориентированный язык программирования, который можно охарактеризовать следующими особенностями:
1. Простой
2. Обьектно-ориентированный
3. Кроссплатформенный
4. Безопасный
5. Надежный (Robust в оригинале)
6. Не зависящий от архитектуры
7. Портативный
8. Динамический
9. Интерпретируемый
10. Высоко производительный
11. Многопоточный
12. Распределенный
Простой
Язык Java простой, по тому что:
- синтаксис базируется на С++ (его легко изучать после C++)
- убрано много спорных и редко-используемых особенностей (указатели, перегрузка операторов итп.)
- не нужно заботиться о неиспользуемых объектах, т.к. в java присутствует автоматическая сборка мусора
Объектно-ориентированный
Это значит что мы организуем продукт, как комбинацию различных типов объектов, которые включают в себя данные и поведение.
ООП - это методология, которая упрощает разработку и обслуживание ПО, предоставляя некоторые правила.
Основные понятия ООП:
1. Объект
2. Класс
3. Наследование
4. Полиморфизм
5. Абстракция
6. Инкапсуляция
Кроссплатформенный
Java код может быть запущен на любой платформе (Windows, linux, Solaris, Mac/OS итп). Java код компилируется в платформонезависимый байт-код. Это отвечает принципу Write Once and Run Anywhere(WORA).
Безопасный
Java безопасна по тому что:
- нет указателей
- программы запускаются в песочнице виртуальной машины
- загрузчик классов (classloader)
- верификатор байт-кода - проверяет фрагменты кода, который может нарушить права доступа к объектам.
- менеджер безопасности - определяет, какие ресурсы класс может получить на чтение, запись итп.
Устойчивый
Java использует мощное управление памятью. Это отсутствие указателей, которые избегают проблем с безопасностью, автоматический сборщик мусора, отлавливание исключительных ситуаций и механизм проверки типов. Все это делает Java устойчивым языком.
Независимый от архитектуры
Это независящие от архитектуры системы особенности, например размер примитивных типов.
Портативный
Можно переносить байт-код Java на любую платформу
Высокопроизводительный
Java работает быстрее, чем традиционная интерпретация, по тому-что байт-код ближе к нативному коду, но все-же Java немного медленнее, чем компилируемые языки (С++ итп)
Распределенный
Мы можем создавать распределенные приложения в Java. RMI и EJB используются для создания таких приложений. Мы можем получить доступ к файлам вызывая методы с любой машины в интернете.
Многопоточный
Можно писать программы на Java, которые занимаются многими задачами одновременно определим несколько потоков. Главное преимущество многопоточности это разделение потоками общей памяти.
В языке Java весь исходный код сначала пишется в текстовые файлы с расширением .java. Затем исходные файлы компилируются в .class файлы компилятором javac. Эти .class файлы не содержат инструкций для процессора, вместо них они содержат байт-код - набор инструкций исполняемых виртуальной машиной Java (JVM). Виртуальная машина JVM исполняет файлы .class или .jar (упакованный в архив набор .class файлов), эмулируя инструкции, написанные для JVM, путем интерпретирования или использования just-in-time компилятора (JIT), такого, как HotSpot. Сейчас JIT компиляция используется в большинстве JVM в целях достижения большей скорости. Существуют также ahead-of-time компиляторы, позволяющие разработчикам приложений прекомпилировать файлы классов в родной для конкретной платформы код.
Как и Большинство виртуальных машин, Java Virtual Machine имеет stack-ориентированную архитектуру, свойственную микроконтроллерам и микропроцессорам.
JVM, которая является экземпляром JRE (Java Runtime Environment), вступает в действие при исполнении программ Java. После завершения исполнения, этот экземпляр удаляется сборщиком мусора. JIT является частью виртуальной машины Java, которая используется для ускорения выполнения приложений. JIT одновременно компилирует части байт-кода, которые имеют аналогичную функциональность, и, следовательно, уменьшает количество времени, необходимого для компиляции.
Платформой является программная или аппаратная среда, в которой программа работает. Популярными платформами являются Microsoft Windows, Linux, Solaris OS, and Mac OS. Большинство платформ могут быть описаны в виде комбинации операционной системы и используемого оборудования. Платформа Java отличается от большинства других платформ в том, что это только программная платформа которая запускается поверх других аппаратных платформ.
Платформа Java состоит из 2х компонент:
- Виртуальная машина Java (JVM)
- Java Application Programming Interface (Java API)
JVM - это основа платформы Java и она портирована на различные аппаратные платформы.
Java API - это большая коллекция готовых программных компонентом, которые обеспечивают множество полезных возможностей. Они сгруппированы в библиотеки смежных классов и интерфейсов. Эти библиотеки известны как пакеты.
Как платформонезависимая среда, платформа Java может быть немного медленнее, чем машинный код, однако прогресс в компиляторе и технологиях виртуальной машины приносит производительность, близкую к машинному коду не теряя кроссплатформенности.
Язык программирования Java.
Java - это высокоуровневый объектно-ориентированный язык программирования, который можно охарактеризовать следующими особенностями:
1. Простой
2. Обьектно-ориентированный
3. Кроссплатформенный
4. Безопасный
5. Надежный (Robust в оригинале)
6. Не зависящий от архитектуры
7. Портативный
8. Динамический
9. Интерпретируемый
10. Высоко производительный
11. Многопоточный
12. Распределенный
Простой
Язык Java простой, по тому что:
- синтаксис базируется на С++ (его легко изучать после C++)
- убрано много спорных и редко-используемых особенностей (указатели, перегрузка операторов итп.)
- не нужно заботиться о неиспользуемых объектах, т.к. в java присутствует автоматическая сборка мусора
Объектно-ориентированный
Это значит что мы организуем продукт, как комбинацию различных типов объектов, которые включают в себя данные и поведение.
ООП - это методология, которая упрощает разработку и обслуживание ПО, предоставляя некоторые правила.
Основные понятия ООП:
1. Объект
2. Класс
3. Наследование
4. Полиморфизм
5. Абстракция
6. Инкапсуляция
Кроссплатформенный
Java код может быть запущен на любой платформе (Windows, linux, Solaris, Mac/OS итп). Java код компилируется в платформонезависимый байт-код. Это отвечает принципу Write Once and Run Anywhere(WORA).
Безопасный
Java безопасна по тому что:
- нет указателей
- программы запускаются в песочнице виртуальной машины
- загрузчик классов (classloader)
- верификатор байт-кода - проверяет фрагменты кода, который может нарушить права доступа к объектам.
- менеджер безопасности - определяет, какие ресурсы класс может получить на чтение, запись итп.
Устойчивый
Java использует мощное управление памятью. Это отсутствие указателей, которые избегают проблем с безопасностью, автоматический сборщик мусора, отлавливание исключительных ситуаций и механизм проверки типов. Все это делает Java устойчивым языком.
Независимый от архитектуры
Это независящие от архитектуры системы особенности, например размер примитивных типов.
Портативный
Можно переносить байт-код Java на любую платформу
Высокопроизводительный
Java работает быстрее, чем традиционная интерпретация, по тому-что байт-код ближе к нативному коду, но все-же Java немного медленнее, чем компилируемые языки (С++ итп)
Распределенный
Мы можем создавать распределенные приложения в Java. RMI и EJB используются для создания таких приложений. Мы можем получить доступ к файлам вызывая методы с любой машины в интернете.
Многопоточный
Можно писать программы на Java, которые занимаются многими задачами одновременно определим несколько потоков. Главное преимущество многопоточности это разделение потоками общей памяти.
В языке Java весь исходный код сначала пишется в текстовые файлы с расширением .java. Затем исходные файлы компилируются в .class файлы компилятором javac. Эти .class файлы не содержат инструкций для процессора, вместо них они содержат байт-код - набор инструкций исполняемых виртуальной машиной Java (JVM). Виртуальная машина JVM исполняет файлы .class или .jar (упакованный в архив набор .class файлов), эмулируя инструкции, написанные для JVM, путем интерпретирования или использования just-in-time компилятора (JIT), такого, как HotSpot. Сейчас JIT компиляция используется в большинстве JVM в целях достижения большей скорости. Существуют также ahead-of-time компиляторы, позволяющие разработчикам приложений прекомпилировать файлы классов в родной для конкретной платформы код.
Как и Большинство виртуальных машин, Java Virtual Machine имеет stack-ориентированную архитектуру, свойственную микроконтроллерам и микропроцессорам.JVM, которая является экземпляром JRE (Java Runtime Environment), вступает в действие при исполнении программ Java. После завершения исполнения, этот экземпляр удаляется сборщиком мусора. JIT является частью виртуальной машины Java, которая используется для ускорения выполнения приложений. JIT одновременно компилирует части байт-кода, которые имеют аналогичную функциональность, и, следовательно, уменьшает количество времени, необходимого для компиляции.
Платформа Java
Платформа Java состоит из 2х компонент:
- Виртуальная машина Java (JVM)
- Java Application Programming Interface (Java API)
JVM - это основа платформы Java и она портирована на различные аппаратные платформы.
Java API - это большая коллекция готовых программных компонентом, которые обеспечивают множество полезных возможностей. Они сгруппированы в библиотеки смежных классов и интерфейсов. Эти библиотеки известны как пакеты.

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

Комментариев нет :
Отправить комментарий