Чем Java так особенна? Java машина.
Last updated: 29 апреля 2025 г.Девиз Java таков “Написано однажды работает везде”
Начнем из далека. Раньше программы для выполнения компьютером писались в формате машинных кодов. Писать эти программы было очень сложно, так как эти программы были скорее больше понятны для машины, а не для человека.
И тогда люди придумали высокоуровневые языки программирования типа Java, которые существенно упрощали программисту написание программы по сравнению с написанием ее машинными кодами.
Но компьютер всё еще должен выполнять программу на машинных кодах, так как это понятный для него язык, а тот, который для человека, ему не понятен. Поэтому необходимо превращать программу написанную на высокоуровневом языке в машинные коды понятные компьютеру. Этот процесс преобразования называется компиляцией.
Чем отличается от других языков?
Существует очень много совершенно разных устройств, которые работают совершенно по разному и на совершенно разных платформах.
И соответственно машинные кода для выполнения одной и той же программы на всех этих разных платформах должны быть разными.
То есть высокоуровневый язык должен компилироваться под все разные устройства и платформы по разному. И так и происходит в большинстве высокоуровневых языков программирования типа C++.
Пример платформенной зависимости.
То есть, например для компиляции C++ программы на платформе Linux нужны свои особенные библиотеки, свой особенный компилятор для компиляции этой программы. Для компиляции этой же C++ программы на Windows нужны будут уже другие библиотеки, компилятор будет отличаться да и сама программа уже тоже может немного отличаться от той что была на Linux. То есть очевидно, язык C++ не кроссплатформенный.
Вот если бы была какая-то машина, которая автоматически преобразовывает код программы написанной на высокоуровневом языке в машинные кода для разных платформ и программисту не приходилось бы подправлять программу под конкретную платформу, скачивать особые библиотеки и компилятор и вообще заботиться о том на какой платформе должна будет запускаться эта программа.
В этом помогает Java машина.
Что такое Java машина?
Концепция такая: Java машина устанавливается на какой-либо компьютер с любой платформой и программа написанная на java компилируется в байт-код (теперь уже не машинный код, как раньше) понятный java машине и этот байт код выполняется на этой джава машине.
То есть программа выполняется через java машину вообще на любой платформе.
То есть еще раз возвращаемся к тезису – "Написано однажды работает везде"
.
Написано однажды значит программист пишет программу на Java один раз, то есть она никак не зависит от платформы на которой эта Java программа будет запускаться, так как любая Java программа пишется только для одной единственной платформы – Java машины и эта программа работает везде одинаково через эту Java машину.
Другие преимущества Java
Из плюсов Java машины также можно упомянуть, что под Java машину можно писать не только Java программы, а также и программы написанные на других языках.
Также важно упомянуть концепцию сборщика мусора
в Java.
Почему Java упрощает работу с памятью?
Например, в программе, которая пишется на C++ вам нужно следить за памятью, то есть выделять память под какие-либо данные добавлять данные в выделенную память и самим удалять эти данные оттуда. То есть необходимо следить за всеми этими моментами по ходу написания C++ кода.
Java машина же сама следит за этим всем, то есть выделяет место под какие-либо объекты в памяти и удаляет их оттуда когда они становятся не нужны, что упрощает программирование.
Следующие уроки
Установка Java
6
мин.
Первая Java программа
8
мин.
Переменные в Java
10
мин.