Java позволяет писать множество типов программ: приложения, апплеты, сервлеты.
Есть 3 главные Java платформы для языка программирования Java:
API и инструменты для разработки и запуска Java-приложений упакованы в так называемый JDK. JVM и библиотеки среды исполнения также упакованы в отдельный JRE (Java Runtime Environment).
Java - строго статически типизированный язык. Компилятор гарантирует выполнимость кода в среде исполнения (runtime), если код скомпилировался без ошибок. Надежность (reliability) Java обеспечивается отсутствием указателей, проверкой индексов массивов и строк во время исполнения, автоматической сборка мусора. Обработка исключений без сомнений является главным фактором способствующим разработке устойчивых (robust) систем.
В языке Java много заимствовано из C++. Но в целях простоты, не стали заимствовать препроцессор, управление указателями, перегрузку операторов, множественное наследование классов. В Java предпочли автоматическую сборку мусора, проблемам ручного управления памятью, которые приводят к утечкам памяти. Несмотря на всё это, многим кажется, что вряд ли такие присутствующие в Java вещи как синтаксис вложенных классов или подстановочные знаки (wild cards) для универсальных шаблонов (generics) упрощают язык.
Java 8 является переломной версией, в том смысле, что язык перестал быть чисто объектно-ориентированным и стал включать возможности программировать в функциональном стиле. Java 8 предоставляет такие языковые конструкции как лямбда-выражения и функциональные интерфейсы.
Есть 3 главные Java платформы для языка программирования Java:
- Java SE (Standard Edition) - базовая функциональность. Документация по Java Standard Edition (SE).
- Java EE (Enterprise Edition) - надмножество над Java SE, предназначена для разработки корпоративных приложений.
- Java ME (Micro Edition) - подмножество Java SE, предназначена для разработки мобильные и встроенных приложений.
API и инструменты для разработки и запуска Java-приложений упакованы в так называемый JDK. JVM и библиотеки среды исполнения также упакованы в отдельный JRE (Java Runtime Environment).
Java - строго статически типизированный язык. Компилятор гарантирует выполнимость кода в среде исполнения (runtime), если код скомпилировался без ошибок. Надежность (reliability) Java обеспечивается отсутствием указателей, проверкой индексов массивов и строк во время исполнения, автоматической сборка мусора. Обработка исключений без сомнений является главным фактором способствующим разработке устойчивых (robust) систем.
В языке Java много заимствовано из C++. Но в целях простоты, не стали заимствовать препроцессор, управление указателями, перегрузку операторов, множественное наследование классов. В Java предпочли автоматическую сборку мусора, проблемам ручного управления памятью, которые приводят к утечкам памяти. Несмотря на всё это, многим кажется, что вряд ли такие присутствующие в Java вещи как синтаксис вложенных классов или подстановочные знаки (wild cards) для универсальных шаблонов (generics) упрощают язык.
Java 8 является переломной версией, в том смысле, что язык перестал быть чисто объектно-ориентированным и стал включать возможности программировать в функциональном стиле. Java 8 предоставляет такие языковые конструкции как лямбда-выражения и функциональные интерфейсы.
The Java ® Language Specification: Java SE 8 Edition
Основные положения Java:
- Код в Java инкапсулируется в классы.
- Есть 2 типа значений:
- Объекты являющиеся экземплярами классов и массивов.
- Атомарные значения примитивных типов данных.
- Ссылки хранят ссылочные значения отсылающие к объектам. Ссылки используются для манипулирования объектами.
- Объекты в Java не могут содержать другие объекты. Они могут только содержать ссылки на другие объекты.
- Во время исполнения заботу о больше не используемых объектах берет на себя среда исполнения.
Java предоставляет многоуровневую защиту от вредоносного кода. Язык не допускает прямого доступа к памяти. Верификатор байт-кода проверяется на безопасность любой не доверенный код (untrusted code), который загружается в JVM. Модель песочницы используется для ограничения и исполнения любого не доверенного кода, тем самым сокращая урон, который может быть нанесен этим кодом.
Java предоставляет широкую сетевую поддержку для построения распределенных систем, в которых объекты могут взаимодействовать по сети используя различные коммуникационные протоколы и технологии, например Remote Method Invocation (RMI) или сокеты.
Комментариев нет:
Отправить комментарий