Заведём жабу? Часть 1.

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

Практические работы по Corel Draw также были отвергнуты мнением большинства и решили мы остановиться на каком-нибудь ЯП (ЯП в нашем случая — это не «я плакал,» а язык программирования). Поскольку многие слышали понятие «объектно-ориентированное программирование,» но дальше умного названия дело не пошло — было решено взяться за самый «простой» ООП язык — Java. Возьмёмся, посмотрим, что получится.

Честно скажу, в институте я экзамен по «жабке» чуть не завалил, похоже пришло время для реванша. Но сначала немного теории.

Жабки бывают разные.

  1. Java Standart Edition (J2SE) — стандартная версия, для настольных приложений.
  2. Java Micro Edition (J2ME) — для мобильничков — устройств с ограниченными ресурсами. Ох помню как было круто, когда смартфон на Nokia поддерживал и симбиан-игры и вот эти на java.
  3. Java Enterprise Edition (J2EE) — платформы серверные.

Мы начнём, естественно, с J2SE.

Особенности жабки.

  1. Виртуальная машина Java (JVM) — среда исполнения программного кода. Все программы запускаются внутри этой среды! И уже она «контролирует» безопасность работы программ, выделение ресурсов и прочие важные штуки, то есть выполняет служебную работу, дабы наша мегапрограммка работала без сбоев. Это промежуточный слой между операционной системой и вашей программкой. Java-программы не запускаются напрямую в операционной системе! Они работают в JVM. Вот, к примеру, популярную операционную систему для мобильный устройств Андроид вполне можно назвать минималистичной сборкой Linux, которая «крутит» эту самую JVM. А Вы думаете, отчего андроид такой прожорливый до ресурсов?
  2. Кроссплатформенность. Помните бессмертный диалог Кузьмича с капитаном подводной лодки из фильма «Особенности национальной рыбалки?» «Она (подлодка) у тебя что, на водке работает?» «Она у меня работает на всём, что горит! Лейте!»  Вот так и здесь. Код можно написать один раз и использовать его и под ОС Windows, и под Linux, и под MacOS. Использовать на любой ОС, для которой существует JVM. Для каждой версии ОС — своя JVM.
  3. Сборщик мусора (Garbage Collector).  Когда программка работает — идёт активное взаимодействие с оперативной памятью, что-то считывается, что-то записывается и т.д. Оперативка же разделена на ячейки определённых размеров и у каждой ячейки, есть свой адрес. Записанный объект занимает определённое количество ячеек в зависимости от своего размера. В процессе работы программы может создаваться много объектов, которые хранятся в памяти, а сама программа, соответственно, занимается определённые ресурсы операционной системы. Если оперативку только «забивать,» не очищая, то какой бы большой объём памяти не был бы установлен — придёт время, когда и он закончится, а программа завершит свою работу с ошибкой. Говорят: произошла утечка мозгов памяти. Кроме того, возможны попытки записи данных в занятую область, что приводит к нарушении целостности данных. В Java (в отличие от C++) JVM управляет объектами в оперативе, освобождая разработчика от данной рутины. Под мусором мы понимаем объекты программы, которые больше не используются. Сборщик мусора работает в фоновом режиме во время выполнения программы и освобождает память от таких объектов. (есть ссылка — на объект — работает, нет ссылки — «давай до свидания!»)

Важные понятия:

  1. Компиляция. Вспоминаем, как «видит мир» центральный процессор? Правильно, двоичным кодом — 0 и 1. Компиляция — это преобразование вашего программного кода в код, который «понимает» JVM. Грубо говоря в единицы и нолики. Напрямую JVM не работает с нашим программным кодом! Схема выглядит так: Исходный программный код (файлы с расширением java) — КомпиляцияБайт код (двоичный код, файлы с расширением class) — Виртуальная машина Java (JVM)Запуск программы.
  2. JDK и JRE. JDK — Java Development Kit — бесплатный пакет разработчика, доступный для скачивания. Включает в себя: Виртуальную машину Java, Компилятор, Библиотеки, Примеры, Документация, Утилиты. JRE (Java Runtime Environment) — среда выполнения программы. Включает в себя: виртуальную машину, библиотеку классов. В общем JRE — только для запуска, урезанная версия. Если пользователь не собирается разрабатывать на Java, но тем не менее виртуальная машина ему нужна для работы с каким-нибудь государственным сервисом — хватит с него и JRE.

Поделиться ссылкой:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *