пʼятниця, 10 квітня 2015 р.

Платформа Java - виртуальная машина Java

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


Java переводится как "кофе". Почему же так назвали серьёзный язык программирования? Да просто потому что программисты-разработчики очень любили кофе!

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

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

В среде виртуальной машины выполняются коды Java программ. Реализованы версии JVM для всех существующих операционных систем.

Что предлагает нам установка Java платформы:
  • Java Runtime Environment (JRE) - среда выполнения, обеспечивается виртуальной машиной. Содержит транслятор, который транслирует байт-код в нейтив-код конкретной платформы. Необходим для конечного пользователя для того чтобы запустить апликуху 
  • Инструменты для разработки - компилятор, отладчик, инструмент для создания документации.
  • API - Application Programming Interface, обширный набор готовых библиотек для решения типичных и нетипичных задач. 
Как работают Java программы:
  • Программист создаёт файл с расширением JAVA и помещает в него исходный код программы.
  • С помощью компилятора на основании исходного кода создаётся файл с расширением CLASS, в него компилятор помещает байтовый код программы - команды для виртуальной машины.
  • При запуске программы загружается и выполняется файл с байт-кодом.  
JDK для розробки і має компілятор і дебагер, JRE для запуску програми.
JVM запускає байт-код. Це для того, щоб абстрагуватися від плтформи.

Java Development Kit (сокращенно JDK) — бесплатно распространяемый компанией Oracle Corporation (ранее Sun Microsystems) комплект разработчика приложений на языке Java, включающий в себя компилятор Java (javac), стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java (JRE). В состав JDK не входит интегрированная среда разработки на Java, поэтому разработчик, использующий только JDK, вынужден использовать внешний текстовый редактор и компилировать свои программы, используя утилиты командной строки.

jvm - Java Virtual Machine - среда ("виртуальная"), в которой выполняется твой скомпилированный код
jre - Java Runtime Environment. Просто пакет, который включает в себя JVM и минимальный набор библиотек для работы программ. И еще браузерный плагин, где будут выполняться апплеты.
jdk - Java Development Kit - это уже полноценный набор библиотек и инструментов для для создания, компилирования и дебага программ. Включает в себя jre


Для собак есть команды «Рядом», «Лапу» и другие, слыша которую собака что-то делает важное.
У компьютера роль таких команд выполняют числа: каждая команда закодирована некоторым числом – кодом (их еще называют машинным кодом).
Писать программу в виде чисел очень сложно, поэтому люди придумали языки программирования и компиляторы. Такой язык с одной стороны понятен человеку, с другой – компилятору. Компилятор – это специальная программа, которая переводит текст программы, написанный на языке программирования, в набор машинных кодов.
Обычно программист пишет программу на языке программирования, а затем запускает компилятор, который на основе написанных программистом файлов с кодом программы делает один файл с машинным кодом – окончательную (скомпилированную) программу.


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



Компиляция в машинный код выполняется при запуске программы. Программу в машинний код компилирует специальная программа под названием JVM (Java Virtual Machine) – Виртуальная Машина Java. Именно ее запускают первой, когда нужно запустить программу, состоящую из байт-кода. А уже JVM перед выполнением нужной программы компилирует ту в машинный код. Это очень мощный ход. И одна из причин тотального доминирования Java. - Благодаря такому подходу программы, написанные на Java, могут выполняться практически на любом устройстве – компьютеры, телефоны, банкоматы, тостеры, банковские карточки(!). - Преимуществ такого подхода очень много. Именно поэтому все программы на Android тоже пишутся на Java. А благодаря развитию мобильного сектора, Java занимает доминирующее положение в следующих отраслях программирования:
1) Enterprise: тяжелые серверные приложения для банков, корпораций, инвестфондов и т.д.
2) Mobile: мобильная разработка (телефоны, планшеты), благодаря Android.
3) Web: лидирует PHP, но и Java держит солидный кусок рынка.
4) Big Data: распределенные вычисления в кластерах из тысяч серверов.
5) Smart Devices: программы для умного дома, электроники, холодильников с выходом в интернет.
Java – это не просто язык, это целая экосистема: миллионы готовых модулей, которые ты можешь использовать в своей программе. Тысячи сообществ и форумов в интернете, где можно попросить помощи или совета.

Немає коментарів:

Дописати коментар