Одной из интересных особенностей языка программирования Java является его независимость от платформы. Прежде всего, давайте вкратце разберемся в платформенно-зависимом и платформенно-независимом языке программирования.

Что такое платформа?

Платформа — это в основном система (операционная система), в которой выполняется программа. Например, Windows, Linux и т. д. являются платформами.

Зависимый от платформы и независимый язык программирования:

Предположим, у вас есть система Windows. Теперь вы пишете программу, используя определенный язык программирования, выполняете ее в своей системе и видите, что она выполняется нормально. Теперь вы пытаетесь запустить этот конкретный файл в Linux. Если это не работает, значит, используемый вами язык программирования определенно зависит от платформы, а если работает, то он независим от платформы. Такие языки программирования, как C и C++, зависят от платформы, с другой стороны, такие языки программирования, как java, не зависят от платформы.

Давайте сначала кратко разберемся, почему языки программирования, такие как C или C++, зависят от платформы:

В случае C или C++ компилятор в основном преобразует код в форму, понятную только этой конкретной системе. Мы не можем выполнить этот код в другой системе.

Почему Java не зависит от платформы?

Чтобы понять эту концепцию, мы должны иметь четкое представление об одной из очень важных концепций Java, называемой байт-код. После успешной компиляции кода Java, который хранится в файле .java, создается файл .class. Этот файл .class в основном содержит код, написанный запутанным языком, полностью недоступным нашему пониманию. Но интересно то, что этот код — не что иное, как код, написанный в файле .java. Просто этот беспорядочный код, содержащийся в файле .class, известен как байт-код. В основном этот байт-код выполняется интерпретатором во время выполнения.

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

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

Это очень просто. Существует концепция jvm или виртуальная машина Java, которая присутствует почти на каждой платформе. Каждый jvm понимает байт-код, независимо от того, к какой платформе принадлежит этот байт-код. Просто байт-код, созданный в Windows, понятен jvm linux или jvm mac os или jvm любой другой платформы. По сути, jvm делает байт-код понятным для соответствующей платформы. Итак, ясно, на какой платформе создается байт-код, на самом деле не имеет значения для любого jvm, и по этой причине java не зависит от платформы.