1. Вводный урок Flashcards

1
Q

Каким является язык Java?

A
  1. Объектно ориентированным
  2. Кроссплатформенным
  3. Компилируемым
  4. Строго типизированным
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

За счёт чего достигается кроссплатформенность?

A

За счёт JVM. Код написанный на Java сначала компилируется в бай-код, после чего JVM переводит его в машинный код на любой машине.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Что такое JVM, JRE, JDK?

A

В двух словах о 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Какой метод является точкой входа для запуска программы на Java?

A

Метод 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[])

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Что такое система контроля версий?

A

Система управления версиями (от англ. Version Control System, VCS или Revision Control System) — программное обеспечение для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Как инициализировать проект в текущей папке?

A
  1. Перейти в необходимую директорию командой cd “путь к папке”
  2. После чего инициализировать проект командой “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
Этот код указывает адрес удаленного и отправляет все изменения на гитхабовский сервер

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Как просмотреть состояние файла в текущем проекте?

A

git status

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Какие статусы файлов есть в git?

A

В первую очередь все файлы делятся на 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 файлов. И только после этого они попадут в коммит.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Какой функционал есть для игнорирования файлов в git?

A

Нужно создать файл .gitignore, который поможет гиту определить то, что точно не придется коммитить. Больше вы эти файлы и папки не увидите даже после команды git status. Все, что перечислено в этом файле, закоммитить не удастся. Правда, если вы хотите добавить в .gitignore то что уже было закоммичено, предварительно придется удалить соответствующие данные из репозитория с помощью команды git rm.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Что такое branch?

A

Ветвь в Git — это просто легковесный подвижный указатель на один из этих коммитов. Имя ветки по умолчанию в Git — master. Когда вы вначале создаёте коммиты, вам даётся ветвь master, указывающая на последний сделанный коммит. При каждом новом коммите, указатель двигается вперёд автоматически.
Для создания новой ветки с именем “testing” использовать “git branch testing”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Как мы можем переключаться между ветками?

A

Чтобы перейти на существующую ветку, вам надо выполнить команду “git checkout”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Что такое commit?

A

Фиксация изменений (commiting)
Чтобы сделать коммит, нужно выполнить команду: git commit -m “Initial Commit”
«Initial Commit» — это сообщение фиксации. Используйте понятные и отражающие суть изменений сообщения.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Какими методами можно добавить изменения в локальный репозиторий и в удалённый?

A

Для добавления в локальный - “git commit -m “Initial Commit””
Для добавления в удалённый “git push origin master” где “git push [удал. сервер] [ветка]”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Сколько может быть удалённых репозиториев?

A

Сколько угодно

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Что такое конфликт?

A

Это ситуация, когда изменения в ветке master и изменения в ветке next были произведены в одной и той же строке, в одном и том же файле. Система контроля версий не может самостоятельно определить какое изменение важнее и предлагает пользователю самому выбрать как объединить изменения: либо оставить строку из ветки master, либо строку из ветки next, или обе строки. Конфликт необходимо разрешить вручную.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Что такое merge?

A

Слияние веток
Пример:
git merge master
позволяет слить текущую ветку с веткой мастер

17
Q

Как получить изменения из удалённого репозитория?

A

git fetch
Команда git fetch связывается с удалённым репозиторием и забирает из него все изменения, которых у вас пока нет и сохраняет их локально.

git pull
Команда git pull работает как комбинация команд git fetch и git merge, т.е. Git вначале забирает изменения из указанного удалённого репозитория, а затем пытается слить их с текущей веткой.

18
Q

Что такое дерево коммитов?

A

Это структура, которая рекурсивно описывает каталог проекта