1. Вводный урок Flashcards
Каким является язык Java?
- Объектно ориентированным
- Кроссплатформенным
- Компилируемым
- Строго типизированным
За счёт чего достигается кроссплатформенность?
За счёт JVM. Код написанный на Java сначала компилируется в бай-код, после чего JVM переводит его в машинный код на любой машине.
Что такое JVM, JRE, JDK?
В двух словах о JDK, JRE и JVM:
JDK нужен для разработки (это компилятор, отладчик и т.д.).
JRE нужен для запуска Java программ (содержит в себе JVM).
JDK и JRE содержат JVM, которая нужна для запуска программ на Java.
JVM является сердцем языка программирования Java и обеспечивает независимость от платформы.
.
Подробности:
JVM - JVM является сердцем языка программирования Java. Когда мы запускаем программу, JVM несет ответственность за преобразование байт-кода в машинный код. JVM также зависит от платформы и предоставляет основные функции, такие как управления памятью Java, сборкой мусора, и т.д. Мы также можем выделять определенный объем памяти для JVM. JVM является виртуальной машиной, потому что обеспечивает интерфейс, который не зависит от операционной системы и аппаратных средств. Эта независимость от аппаратного обеспечения и операционной системы дает Java-программам возможность выполняться на любом устройстве без необходимости внесения изменений — Write once, run anywhere (Напиши раз — запускай где угодно).
.
JRE - JRE является реализацией JVM, которая предоставляет платформу для выполнения Java-программ. JRE состоит из виртуальной машины Java, бинарных файлов и других классов. JRE не содержит инструменты для разработки (компилятор Java, отладчик и т.д). Если вы хотите запустить любую Java программу, вы должны установить JRE.
.
JDK - Java Development Kit является основным компонентом среды Java и предоставляет все инструменты, исполняемые и бинарные файлы, которые нужны для компиляции, отладки и выполнения программы на Java. JDK является платформо-зависимым программным обеспечением, поэтому есть отдельные инсталляторы для Windows, Mac и Unix-систем. Можно сказать, что JDK является надстройкой JRE, так как он содержит JRE с Java-компилятором, отладчиком и базовыми классами. Текущая версия JDK 1.8 также известна как Java 8.
Какой метод является точкой входа для запуска программы на Java?
Метод main является точкой входа приложения Java.
.
В частности, когда Java Virtual Machine предлагается запустить приложение, указав его класс (с помощью запуска приложения java), он будет искать метод main с сигнатурой public static void main(String[]).
.
От Sun java командная страница:
.
Инструмент java запускает приложение Java. Он делает это, начиная среду выполнения Java, загрузку указанного класса и вызов этого class main.
.
Метод должен быть объявлен открытым и статическим, он не должен возвращать значение, и он должен принимать массив String в качестве параметра. Метод объявление должно выглядеть следующим образом:
public static void main(String args[])
Что такое система контроля версий?
Система управления версиями (от англ. Version Control System, VCS или Revision Control System) — программное обеспечение для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое.
Как инициализировать проект в текущей папке?
- Перейти в необходимую директорию командой cd “путь к папке”
- После чего инициализировать проект командой “git init”.
Наш проект может размещатся в любом каталоге. Для него нужно инициализировать git. Это стандартная процедура:
git init
git add .
git commit -m “Init”
Теперь для проекта git работает и его можно использовать по своему усмотрению: добавлять версии, смотреть логи, делать ветки и т.п.
Для связи с GitHub’ом следует указать удаленный репозиторий:
git remote add origin https://github.com/USER/demo.git
git push -u origin master
Этот код указывает адрес удаленного и отправляет все изменения на гитхабовский сервер
Как просмотреть состояние файла в текущем проекте?
git status
Какие статусы файлов есть в git?
В первую очередь все файлы делятся на tracked и untracked. Untracked – это новый файл, который не был добавлен для отслеживания командой git add. Все остальные файлы являются tracked.
.
С отслеживаемыми файлами все сложнее. Начнем с того, что они тоже могут находиться в 3-х разных состояниях:
unmodified modified staged . С unmodified все просто. Если файл в рабочей копии точно такой же как и в репозитории, то считается что его не модифицировали. Любой файл после коммита переходит в состояние unmodified. Соответственно, команда git status никак не отражает это состояние.
Modified тоже интуитивно понятен. Как только мы изменили любой unmodified (но не untracked!) файл, он автоматически становится modified. И вот тут нас поджидает сюрприз: если попробовать вызвать git commit, то modified файлы в него не попадут. Предварительно их нужно перевести в состояние staged сделав git add. В этом и заключается смысл команды git add, она переводит файлы с любым состоянием, кроме unmodifed, в состояние staged. Это касается и untracked файлов. И только после этого они попадут в коммит.
Какой функционал есть для игнорирования файлов в git?
Нужно создать файл .gitignore, который поможет гиту определить то, что точно не придется коммитить. Больше вы эти файлы и папки не увидите даже после команды git status. Все, что перечислено в этом файле, закоммитить не удастся. Правда, если вы хотите добавить в .gitignore то что уже было закоммичено, предварительно придется удалить соответствующие данные из репозитория с помощью команды git rm.
Что такое branch?
Ветвь в Git — это просто легковесный подвижный указатель на один из этих коммитов. Имя ветки по умолчанию в Git — master. Когда вы вначале создаёте коммиты, вам даётся ветвь master, указывающая на последний сделанный коммит. При каждом новом коммите, указатель двигается вперёд автоматически.
Для создания новой ветки с именем “testing” использовать “git branch testing”
Как мы можем переключаться между ветками?
Чтобы перейти на существующую ветку, вам надо выполнить команду “git checkout”
Что такое commit?
Фиксация изменений (commiting)
Чтобы сделать коммит, нужно выполнить команду: git commit -m “Initial Commit”
«Initial Commit» — это сообщение фиксации. Используйте понятные и отражающие суть изменений сообщения.
Какими методами можно добавить изменения в локальный репозиторий и в удалённый?
Для добавления в локальный - “git commit -m “Initial Commit””
Для добавления в удалённый “git push origin master” где “git push [удал. сервер] [ветка]”.
Сколько может быть удалённых репозиториев?
Сколько угодно
Что такое конфликт?
Это ситуация, когда изменения в ветке master и изменения в ветке next были произведены в одной и той же строке, в одном и том же файле. Система контроля версий не может самостоятельно определить какое изменение важнее и предлагает пользователю самому выбрать как объединить изменения: либо оставить строку из ветки master, либо строку из ветки next, или обе строки. Конфликт необходимо разрешить вручную.