Заведём жабу? Часть 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.

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

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

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