В этой статье вы прочитаете какие есть основные принципы в языке программирования java, это полезно знать, если вы его соберётесь учить.
Также почитайте ещё одну крайне интересную статью про Java: Виртуальная машина java, JVM и байт-код.
Основные принципы java:
Java — это объектно-ориентированный язык программирования, разработанный Sun Microsystems и представленный 23 мая 1995 года
Это один из наиболее часто используемых языков программирования в мире. Согласно индексу TIOBE , Java был самым популярным языком программирования. В 2020 году C и Python обогнали Java по индексу TIOBE.
Благодаря своей портативности он используется для программ, которые должны выполняться в различных системах, от смарт-карт (платформа JavaCard ) до мобильных телефонов и различных встроенных устройств (платформа Java ME ), настольных приложений (платформа Java SE ) до крупных распределенные системы, работающие на нескольких взаимодействующих компьютерах по всему миру (платформаJava EE ).
Эти технологии в целом называются платформой Java. 8 мая 2007 года Sun выпустила исходный код Java (примерно 2,5 миллиона строк кода), и Java будет развиваться как открытый исходный код
При разработке языка Java разработчики придерживались пяти основных принципов:
- Он должен быть «простым, объектно-ориентированным и привычным»
- Он должен быть «надежным и безопасным».
- Он должен быть «архитектурно-независимым и переносимым»
- Он должен быть «мощным»
- Он должен быть «интерпретируемым, многопоточным и динамическим».
Основные свойства и принципы java:
Простой — его синтаксис представляет собой упрощенную (и немного измененную) версию синтаксиса языков C и C ++ . Большинство низкоуровневых построек отпали. Например, указатели , числовые типы данных без знака, команда goto или препроцессор не включены.
Хотя для многих современных программистов имея Python и Kotlin, могут поспорить с тем фактом что он простой, так как его синтаксис очень громоздкий из-за чего можно потереться, но для 95 года он был достаточно простой.
Объектно-ориентированный — за исключением восьми примитивных типов данных, все остальные типы данных объектные.
Распределенный — предназначен для поддержки приложений в сети (поддерживает различные уровни сетевого подключения, работает с удаленными файлами, позволяет создавать распределенные клиентские приложения и серверы .
Интерпретируемый — вместо реального машинного кода создается только так называемый байт — код . Этот формат не зависит от архитектуры компьютера или устройства. Затем программа может работать на любом компьютере или устройстве, имеющем доступный интерпретатор Java, который называется. Virtual Machine Java — Java Virtual Machine (JVM).
В более поздних версиях Java промежуточный код не интерпретировался напрямую, но перед первым выполнением он динамически компилировался в машинный код данного компьютера (так называемая своевременная компиляция — JIT ). Эта функция значительно ускорила выполнение программ на Java, но значительно замедлила запуск программ.
В настоящее время в основном используются технологии, называемые компилятором HotSpot , которые первоначально интерпретируют промежуточный код и, основываясь на статистике, полученной в результате этой интерпретации, позже переводят часто используемые части в машинный код, включая другие динамические оптимизации (например, встраивание коротких методов и т.д.).
Некоторые платформы предлагают прямую аппаратную поддержку Java. Существуют также микропроцессоры, которые могут запускать Java на аппаратном уровне вместо программной эмуляции виртуальной машины Java . Процессоры ARM могут иметь прямую аппаратную поддержку для запуска двоичного кода Java.
Надежный — он предназначен для написания высоконадежного программного обеспечения — по этой причине он не позволяет использовать некоторые программные конструкции, которые часто являются причиной ошибок (например, управление памятью , команды goto, использование указателей). Он использует так называемый строгий контроль типов — все используемые переменные должны иметь определенный тип данных.
Управление памятью поколений — управление памятью реализуется с помощью автоматического сборщика мусора , который автоматически ищет части памяти, которые больше не используются, и освобождает их для дальнейшего использования.
В первых версиях это снова было причиной более медленной работы программ. В последних версиях среды выполнения, благодаря новым алгоритмам сборки мусора и так называемому управлению памятью поколений (память разделена на несколько частей, каждая из которых использует свой алгоритм для сборки мусора, и объекты перемещаются между этими частями в соответствии с продолжительностью их жизни). в значительной степени устранены.
Secure — имеет функции, обеспечивающие защиту компьютера в сетевой среде, на которой выполняется программа, от опасных операций или заражения собственной операционной системы вредоносным кодом.
Независимость от архитектуры — созданное приложение работает в любой операционной системе или любой архитектуре. Все, что вам нужно для запуска программы, — это установить правильную виртуальную машину на платформе . В зависимости от конкретной платформы внешний вид и поведение приложения могут быть адаптированы.
Переносимый — помимо вышеупомянутой независимости от архитектуры, язык также независим с точки зрения свойств основных типов данных (например, свойство и размер каждого из примитивных типов данных явно указаны). Однако переносимость означает перенос только в рамках одной платформы Java (например, J2SE ).
При миграции между платформами Java имейте в виду, что платформа, разработанная для более простых устройств, может не поддерживать все функции, доступные на платформе для более сложных устройств, а также может определять некоторые настраиваемые классы, которые дополняют некоторые специальные функции или заменяют более высокие классы платформы, которые являются более низкими. платформа слишком сложная.
Мощный — хотя это интерпретируемый язык, потеря производительности незначительна, поскольку компиляторы могут работать в режиме « точно в срок », и в машинный код переводится только действительно необходимый код.
Многозадачность — поддерживает обработку многопоточных приложений.
Динамический — Java была разработана для развертывания в развивающейся среде. Библиотека может динамически расширяться «на лету» новыми классами и функциями как из внешних источников, так и с помощью собственной программы.
Элегантный — он работает очень хорошо, его легко читать (например, для публикации алгоритмов ), он напрямую требует обработки исключений и проверки типов.
Вывод:
В этой статье вы прочитали про основные принципы в языке программирования java, думаю вам было очень интересно и вы узнали что то новое.