Архив метки: Java

Архитектура JVM (виртуальная машина Java) | Объяснение

JVM — это абстрактная машина, которая используется для выполнения программ Java. В Java исходный код преобразуется в байт-код, который после дальнейшего преобразования в машинный код передается в память виртуальной машиной Java. Короче говоря, JVM предоставляет среду выполнения для выполнения байт-кода Java, что делает его компонентом среды выполнения Java (JRE). В целом, JVM отвечает за загрузку, связывание и инициализацию.

 

JVM-архитектура

Внутренняя архитектура виртуальной машины Java состоит из трех основных частей.

  1. Загрузчик классов
  2. Область памяти
  3. Исполнительный механизм

 

Вот визуальное представление архитектуры JVM.

JVM-архитектура

 

Ниже подробно описаны все части виртуальной машины Java.

 

1. Загрузчик классов

Загрузчик классов в JVM относится к подсистеме, отвечающей за загрузку файлов. Он загружает Java-программу каждый раз, когда мы запускаем Java-программу. Java предоставляет следующие загрузчики классов.

а. Bootstrap ClassLoader

Суперкласс Extension ClassLoader, отвечающий за загрузку файла rt.jar.

б. Extension ClassLoader

Дочерний элемент Bootstrap Classloader и родитель System/Application ClassLoader, расширение classloader загружает JAR-файлы, которые сохраняются в каталоге.

в. Система/приложение ClassLoader

Этот загрузчик классов загружает файлы классов из пути к классам и является дочерним элементом Extension ClassLoader.

 

2. Область памяти

Область памяти JVM состоит из следующих частей.

а. Область метода

Область методов предназначена для сохранения структуры классов, таких как данные метода или данные поля, пул среды выполнения и код для методов.

б. куча

Куча — это область данных времени выполнения, в которой размещаются объекты .

в. Стеки

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

д. Регистры ПК

Он отвечает за хранение адресов во время выполнения инструкций JVM.

е. Стеки нативных методов

Он отвечает за хранение всех собственных методов, необходимых в приложении.

 

3. Исполнительный механизм

Исполнительный механизм состоит из следующего.

а. Устный переводчик

Он выполняет инструкции после чтения потока байт-кода.

б. Компилятор Just-in-time (JIT)

JIT повышает производительность за счет одновременной компиляции частей байт-кода с аналогичными функциями, что в дальнейшем сокращает общее время компиляции.

c.Сборщик мусора

Он используется для сбора объектов, на которые нет ссылок, и их удаления для освобождения памяти.

 

Собственный интерфейс метода

Он помогает взаимодействовать с приложениями, написанными на разных языках, таких как C, C++ и т. д. Он также отвечает за помощь коду Java, работающему в JVM, для вызова библиотек и собственных приложений.

 

Библиотеки методов

Он состоит из собственных библиотек (C, C++), необходимых для Execution Engine.

 

Вывод

Виртуальная машина Java (JVM) — это абстрактная машина, созданная для выполнения программ Java. Архитектура JVM состоит из трех основных частей: загрузчика классов, области памяти и механизма выполнения. Область памяти и исполнительный механизм также состоят из некоторых частей, которые имеют разные функциональные возможности. В этом руководстве объясняется архитектура виртуальной машины Java (JVM) с выделением функций ее различных компонентов.



2022-02-09T22:25:38
Java

С++ против Java

C++ и Java — популярные языки программирования, используемые разработчиками и программистами. У каждого из этих языков есть свои преимущества и недостатки, но прежде чем мы начнем исследовать принципиальные различия между вышеупомянутыми языками программирования, давайте сначала установим наше общее представление об этих двух языках.

 

Что такое С++?

C++ — это язык программирования среднего уровня, который включает почти все возможности языка C. Первоначально он был разработан Бьярном Страуструпом как расширение C. Последняя версия C++ была выпущена в 2020 году. Он считается частично объектно-ориентированным языком, поскольку сочетает в себе функции C и Simula67, который был первым объектно-ориентированным языком программированием.

 

Что такое Java?

Java — это язык программирования, вдохновленный C и C++. Он был создан в 1995 году командой Green Team, работающей в Sun Microsystems. Первоначально он назывался «Oak», но позже был изменен на Java. Это чисто объектно-ориентированный язык программирования, который обеспечивает независимость от платформы и предоставляет интегрированную среду разработки (IDE).

 

Ключевые различия между C++ и Java

Ниже мы предоставили таблицу, в которой сравниваются C++ и Java на основе определенных критериев.



















старший нетКритерииС++Java
1.ОснованБьерн Страуструп в лабораториях AT&T Bell в 1985 году.Джеймс Гослинг в Sun Microsystems в 1995 году.
2.Объектно-ориентированное программирование C++ представил концепцию классов и объектов, однако большинство его программ можно писать без методов ООП. Поэтому его нельзя рассматривать как чисто объектно-ориентированный язык.Java считается чисто объектно-ориентированным языком.
3.Независимость от платформы C++ — это платформозависимый язык, который необходимо компилировать отдельно для каждой платформы.Java — полностью независимый от платформы язык. Код, написанный на Java, является гибким и может быть перенесен с одного устройства на другое.
4.Интегрированная среда разработки (IDE)С++ не поддерживает IDE.Java поддерживает IDE. Он предоставляет известные платформы, такие как Eclipse, NetBeans IDE.
5.использованиеC++ используется для разработки системных программ.Java используется для создания приложений для Android, веб-приложений и научных приложений.
6.Компилятор и интерпретаторC++ — это только компилируемый язык.Java является компилируемым, а также интегрированным языком.
7.Управление памятьюУправление памятью в C++ осуществляется вручную и находится в руках программиста.Управление памятью Java контролируется системой.
8.Поддерживаемые функцииC++ поддерживает такие функции, как операторы goto, перегрузка операторов, указатели, структуры, объединения и т. д.Java не поддерживает такие функции, как операторы goto, операторы, перегрузки, указатели, структуры, объединения и т. д.
9.БиблиотекиC++ имеет очень ограниченное количество библиотек.Java имеет широкий спектр библиотек.
10.Комментарий к документацииC++ не поддерживает комментарии к документации.В Java есть поддержка комментариев к документации.
11.Межъязыковая совместимостьПоскольку C++ был расширением C, он совместим с C и большинством других языков.Java не совместим ни с одним другим языком.
12.Обнаружение ошибокВ C++ обнаружение ошибок во время выполнения выполняется вручную.В Java обнаружение ошибок во время выполнения выполняется системой автоматически.
13.Данные и функцииC++ имеет глобальную область видимости, что означает, что данные и функции могут быть размещены вне класса.Java не имеет глобальной области видимости, поэтому данные и функции должны существовать в классе.
14.Аппаратная близостьC++ довольно близок к аппаратному обеспечению. По этой причине он используется в основном для системного программирования или разработки игровых приложений и компиляторов.Поскольку Java предназначена для разработки программных приложений, поэтому она не близка к аппаратному обеспечению.
15.Передача параметровC++ поддерживает передачу параметров по значению и ссылке.Java также поддерживает передачу параметров по значению и ссылке.

 

Вывод

C++ и Java — два языка программирования, у которых есть свои плюсы и минусы. В то время как C++ лучше всего подходит для системного программирования и разработки игр и компиляторов, Java идеально подходит для приложений Android и веб-приложений. Объявление одного лучше по сравнению с другим было бы неоправданным. Это полностью зависит от потребностей программного обеспечения, которое вы создаете. Язык, который идеально соответствует вашим требованиям, является лучшим для вас!



2022-02-08T16:12:13
Java

Особенности Java

Java — это хорошо известный высокоуровневый серверный/внутренний язык программирования, основанный на классах, который легко изучить и понять. Он используется в распределенной среде в Интернете. Идея Java была основана на создании безопасного, простого в использовании и переносимого языка программирования. В этой статье будет представлен подробный обзор возможностей Java. Итак, начнем!

 

Особенности Java

Java широко используется из-за его основных функций, перечисленных ниже:

 

Объектно-ориентированный

Java — это объективно-ориентированный язык, поэтому он предоставляет такие функции, как повторное использование кода, обслуживание кода, безопасность, простота использования и т. д.

 

Скомпилировано и интерпретировано

Для преобразования кода с языка высокого уровня на язык низкого уровня большинство языков программирования использовали либо компилятор, либо интерпретатор, в то время как Java использовал как компилятор, так и интерпретатор. Приведенная ниже диаграмма продемонстрирует лучшее понимание этой концепции:

Особенности Java

 

Java-программа выполняется в два этапа. На первом этапе компилятор компилирует код Java и генерирует байт-код, а на втором этапе интерпретатор преобразует байт-код в машинный код с помощью JVM. Таким образом, Java использовал силу и устойчивость как компилируемых, так и интерпретируемых языков.

 

Независимый от платформы и портативный

Java-программа не зависит от платформы, что означает, что после компиляции Java-программа может работать в любой операционной системе, такой как Linux, Windows или macOS. И, следовательно, это увеличивает переносимость Java.

Независимая от платформы функция связана с компилируемой и интерпретируемой функцией. Java реализует функцию независимости от платформы благодаря байтовому коду. Байт-код интерпретируется с помощью виртуальной машины Java (JVM), после чего он может работать на любой машине, такой как Windows, Linux и т. д.

 

Распределенный

Распределенная функция определяет, что программа Java может легко работать в сети. Это означает, что в Java-программировании пользователи могут разрабатывать распределенное программное обеспечение/приложения, которые могут легко работать в сети. Для этой цели java использует пакет java.net, который способен выполнять различные функции, связанные с сетью, такие как URL-соединение, связь по протоколам и т. д.

 

Многопоточный

Java предлагает функцию многопоточности, которая позволяет одновременно выполнять несколько частей (потоков) программы. Многопоточность запускает эти программы одновременно в определенной последовательности и своевременно. Многопоточность улучшает использование ЦП, пропускную способность, связь между процессами и т. д.

 

Динамический

Java предоставляет возможность динамического добавления новых классов или методов в программу. Он может загружать/связывать библиотеки, классы, объекты и т. д. во время выполнения. Более того, Java может использовать методы, написанные на любом компьютерном языке, и эти методы известны как нативные методы.

 

Надежный и безопасный

Java обеспечивает надежность, поскольку может обрабатывать исключения, ошибки времени выполнения и т. д. Говорят, что это надежный язык из-за мощной функции управления памятью. И он считается безопасным языком программирования, поскольку не поддерживает концепцию указателей. Более того, JVM играет очень важную роль с точки зрения безопасности, поскольку гарантирует, что никакая небезопасная программа не будет запущена.

 

Простой

Синтаксис Java прост и удобен для изучения. Поэтому тот, у кого нет опыта использования какого-либо языка программирования, также может изучить язык java. Он считается простым языком программирования, поскольку в нем отсутствуют сложные функции, такие как явные указатели, перегрузка операторов и т. д.

 

Влияние/важность Java

Java оказала большое влияние на ИТ-индустрию благодаря своим потрясающим функциям и превосходным продуктам. И он широко используется различными известными компаниями:

  • Google имеет огромный процент своих разработок на Java.
  • Netflix, Amazon и многие другие известные компании являются пользователями Java.
  • Accenture, очень известная американская компания, использует Java для большинства своих клиентов.
  • Компании-производители аппаратного обеспечения, такие как Intel, Philips и т. д., также являются пользователями Java.
  • Java считается официальным языком разработки для Android.

Java стал наиболее популярным языком благодаря своему выдающемуся вкладу в ИТ-индустрию.

 

Вывод

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

Еще одной важной особенностью языка программирования Java является его переносимость и независимость от платформы. В этой статье были рассмотрены некоторые важные особенности, раскрывающие важность языка программирования Java.



2022-02-05T18:35:35
Java

История Java

Java является чисто объектно-ориентированным языком и является одним из самых влиятельных компьютерных языков. Более трех миллиардов устройств, использующих Java, и его важные функции, такие как безопасность, независимость от платформы и т. д., сделали его популярным во всем мире. Итак, без промедления, давайте узнаем несколько интересных фактов из истории Java.

 

Джеймс Гослинг

Канадец, более известный своей работой «Джеймс Гослинг», впервые создал Java в начале 90-х годов. Из-за его услуг он также известен как «Dr. Java». Он получил степень бакалавра в Университете Калгари и получил степень доктора философии. из Университета Карнеги-Меллона.

 

Green Team

В начале 1990-х Джеймс Гослинг и его коллеги (Майк Шеридан и Патрик Нотон) из Sun Microsystems начали проект по разработке Java. Для этого они создали команду и эта команда разработчиков назвала себя Green Team, отсюда и начинается история Java.

 

Первое приложение на основе Java

Зеленая команда начала проект интерактивного телевидения. Примером интерактивного телевидения может быть голосование в реальном времени на экране, в котором пользователь может управлять шоу. Однако в то время эта технология была слишком продвинутой для промышленности, но идеально подходила для сети/интернета.

 

Green-talk

Джеймс Гослинг, основатель языка Java, первоначально назвал его «Green talk», поэтому в то время его расширение было .gt.

 

Oak

Через некоторое время Джеймс Гослинг модифицировал «Green talk» на новое название « Oak». Он выбрал имя Дуб, потому что оно считалось символом власти/силы.

 

Java

Впоследствии, в середине 90-х годов, «Oak» был официально переименован в «Java». Название Java было основано на названии кофе, поэтому официальное сообщество Java добавило кофейную чашку в логотип Java.

В 1995–1996 годах первая общедоступная реализация была выпущена как Java 1.0. Журнал Time назвал Java одним из лучших продуктов середины 90-х.

 

JVM

Спустя десятилетие микросистема Sun выпустила свободно доступное программное обеспечение под названием Java Virtual Machine. В 2006 году J2SE также был изменен как стандартная версия JAVA.

 

Версии Java

До сих пор было выпущено множество версий Java/стандартных выпусков Java. Некоторые из них более стабильны и имеют долгосрочную поддержку. При этом время от времени выпускалось множество версий, не имеющих долгосрочной поддержки.

Первоначальными версиями Java были альфа- и бета-версии JDK, а затем были выпущены еще несколько версий JDK и J2SE. В декабре 2005 года Sun Microsoft выпустила первую стандартную версию Java, т.е. Java SE6.

 

Версии с долгосрочной поддержкой

Наиболее популярные выпуски с «долгосрочной поддержкой» включают:

  • Java SE8, выпущенный в марте 2014 года.
  • Java SE11, выпущенный в сентябре 2018 года.
  • На сегодняшний день «Java SE17, выпущенная в сентябре 2021 года» определяется как версия с долгосрочной поддержкой.

 

Старые версии

Многие старые версии Java долгое время не поддерживались. И у них нет публично LTS:

  • Java SE6, выпущенный в декабре 2006 года.
  • Java SE7, выпущенный в июле 2011 года.
  • Java SE9, выпущенный в сентябре 2017 года.
  • Java SE10, выпущенная в марте 2018 года.
  • Java SE12, выпущенная в марте 2019 года.
  • Java SE13, выпущенная в сентябре 2019 года.
  • Java SE14, выпущенная в марте 2020 года.
  • Java SE15, выпущенный в сентябре 2020 года.
  • Java SE16, выпущенная в марте 2021 года.

 

Вывод

Основной мотивацией для разработки Java было создание программного обеспечения для электронных устройств, таких как телевизоры, телевизионные приставки и т. д. Однако со временем Java стал одним из самых популярных языков веб-программирования. И он начинает разрабатывать новейшие приложения, программное обеспечение, разработку мобильных приложений и т. д. В этой статье представлены захватывающие подробности об истории Java.



2022-02-01T15:41:34
Java

Почему Java?

Java — многоцелевой язык программирования. Это объектно-ориентированный язык программирования высокого уровня, основанный на классах, независимый от платформы и быстрый. В этой статье мы собираемся изучить различные аспекты этого языка программирования. Давайте начнем с небольшого базового знания.

 

История Java

Первоначально Java была основана командой инженеров, а именно Green Team. В эту команду входили Джеймс Гослинг, Майк Шеридан и Патрик Нотон, которые впервые разработали Java в 1995 году.

Java изначально не была такой обширной, как сейчас. Это было ограничено только разработкой небольших и встроенных систем. Ранее он назывался GreenTalk, но позже был изменен на Oak, а затем, наконец, на Java.

Теперь, когда мы поняли, что такое Java и как она возникла, давайте перейдем к большому вопросу, который выделен в заголовке этого руководства.

 

Почему Java так популярен?

Разнообразные функции Java делают его очень мощным языком программирования, который можно использовать для разработки различных программных платформ. Код Java совместим с Windows, Linux и Mac OS. Синтаксис Java очень похож на C и C++. Java можно использовать для создания следующего.

  1. Приложения для Android
  2. Веб-приложения
  3. Программные средства
  4. Научные приложения

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

 

Преимущества Java

Чтобы выделить отличительные особенности Java, мы перечислили некоторые из них здесь для вас.

1. Простота в освоении

Для людей, начинающих изучать программирование, java — очень подходящий выбор. Унаследовав большую часть своего синтаксиса от C и C++, Java довольно легко освоить.

2. Объектно-ориентированный

Как уже упоминалось, Java является объектно-ориентированным языком программирования, что делает его код многоразовым. Легко создавать модульные программы, которые просты в обслуживании и обладают высокой производительностью. Наряду с этим Java имеет множество преимуществ как объектно-ориентированного программирования, некоторые из которых упомянуты ниже.

  • Многоразовый код
  • Безопасный
  • Повышенная производительность
  • Гибкий
  • Поддерживаемый код

3. Независимость от платформы

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

4. Широкое использование

Java — ведущий язык программирования, который используется для создания множества приложений и программного обеспечения. Его можно использовать для разработки

  • Мобильные приложения
  • Веб-приложения
  • Научные приложения и различные программные инструменты.

5. Интегрированная среда разработки (IDE)

Интегрированная среда разработки (IDE) Java обогащена несколькими инструментами автоматизации, редакторами и отладчиками. Ниже приведены наиболее известные IDE для Java.

  1. Eclipse
  2. IntelliJ Idea
  3. NetBeans IDE.

 

Есть также некоторые известные инструменты Java, такие как,

  • Maven
  • ANT
  • Jenkins
  • JConsole
  • Visual VM

 

Вывод

Объектно-ориентированный язык программирования Java обладает универсальными функциями, которые выделяют его среди других языков программирования и делают его популярным среди разработчиков и программистов. Его интегрированная среда разработки (IDE), независимость от платформы и гибкость делают его очень современным языком программирования. В этой статье мы исследовали различные аспекты Java и на основе преимуществ, которые она предоставляет, мы также пришли к выводу, почему Java является известным языком программирования.



2022-01-31T23:56:24
Java

Как запустить Java из командной строки в Linux

Java — популярная в мире платформа для разработки программного обеспечения, которую разрабатывает Джеймс Гослинг. Он разработан для поддержки нескольких платформ, таких как Linux, macOS и Windows. Мобильные и настольные приложения также могут быть разработаны с использованием языка Java.

Язык Java — один из самых популярных объектно-ориентированных языков программирования высокого уровня. Он имеет простой синтаксис и легко понятен новичкам, так как он очень безопасен и экономичен в использовании. Java — это программное обеспечение, не зависящее от платформы, и оно также предоставляет средство автоматической сборки мусора.

 

Как запустить Java из командной строки

Чтобы запустить java-программу в Linux, нам нужно проверить, доступен ли Java Development Kit (JDK) в системе и его версию.

Чтобы подтвердить это, введите следующую команду:

$ javac -version

 

( Инструмент командной строки Javac используется для компиляции программ Java)

Инструмент командной строки Javac недоступен в моей системе. У нас есть несколько команд для его загрузки, как указано на изображении выше.

Давайте воспользуемся командой default-jdk, чтобы получить это:

$ sudo apt install default-jdk

 

Чтобы проверить установку javac , введите:

$ javac -version

 

Теперь напишите программу на Java в текстовом файле и сохраните ее с расширением .java .

Предположим, я создал файл с именем « testing.java » и написал в нем простую программу:

testing.java



class testing {

public static void main(String args[]) {

System. out. println("Привет! Добро пожаловать в блог AndreyEx");

}

}

(Имейте в виду, что имя вашего класса должно совпадать с именем файла)

Скомпилируйте файл testing.java на терминале с помощью команды javac :

$ javac testing.java

 

Теперь запустите программу Java, вызвав ее имя класса в терминале:

$ java testing

 

Заключение

Java — это язык высокого уровня современной эпохи, поддерживаемый Java Development Kit (JDK). JDK — это пакет, который помогает запускать java и используется для разработки пакетов программного обеспечения.

Язык Java имеет простой синтаксис, который легко освоить новичкам, и это один из наиболее используемых объектно-ориентированных языков программирования.

В этой статье мы видели, как устанавливать и запускать Java-приложения на терминале.



2021-06-15T22:53:13
Java