Слайд 2Вопрос 1
Дайте краткую характеристику JAVA
Слайд 3Дайте краткую характеристику JAVA
Объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems
Приложения Java обычно
транслируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине вне зависимости от компьютерной архитектуры.
Слайд 4Вопрос 2
Сформулируйте основные возможности JAVA
Слайд 5Сформулируйте основные возможности JAVA
автоматическое управление памятью;
расширенные возможности обработки исключительных ситуаций;
богатый набор средств
фильтрации ввода-вывода;
набор стандартных коллекций: массив, список, стек и т. п.;
наличие простых средств создания сетевых приложений;
наличие классов, позволяющих выполнять HTTP-запросы и обрабатывать ответы;
встроенные в язык средства создания многопоточных приложений;
унифицированный доступ к базам данных;
поддержка обобщений;
параллельное выполнение программ.
Слайд 6Вопрос 3
Назовите основные преимущества JAVA
Слайд 7Назовите основные преимущества JAVA
Кросс – платформенность
ООП
JVM и garbage collection
Жесткая типизация
Простота и СИ
подобность
Широкие возможности
Поддержка ранее написанного кода
Слайд 8Вопрос 4
Что из себя представляют JRE, JVM и JDK?
Слайд 9Что из себя представляют JRE, JVM и JDK?
Java Runtime Environment (сокр. JRE)
- минимальная реализация виртуальной машины, необходимая для исполнения Java-приложений. Состоит из виртуальной машины - Java Virtual Machine и библиотеки Java-классов.
Java Virtual Machine (сокр. JVM) - основная часть исполняющей системы Java (JRE), которая исполняет байт-код Java, предварительно созданный из исходного текста Java-программы компилятором Java (javac).
Java Development Kit (сокр. JDK) - бесплатно распространяемый комплект разработчика приложений на языке Java, включающий в себя компилятор Java (javac), стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java (JRE).
Слайд 10Вопрос 5
Какие модификаторы доступа Вы знаете в JAVA?
Слайд 11Какие модификаторы доступа Вы знаете в JAVA?
private
protected
default (package visible)
public
Слайд 12Вопрос 6
Разграничение доступа в JAVA
Слайд 14Вопрос 7
Что такое Heap память в JAVA
Слайд 15Что такое Heap память в JAVA
Java Heap (куча) - динамически распредляемая область
памяти, создаваемая при старте JVM. Используется Java Runtime для выделения памяти под объекты и JRE классы.
Любой объект, созданный в куче, имеет глобальный доступ и на него могут ссылаться с любой части приложения.
В куче выделяется место под сам объект, количество выделенной памяти зависит от набора и размера полей
Слайд 16Вопрос 8
Что такое Stack память в JAVA
Слайд 17Что такое Stack память в JAVA
Стековая память содержит примитивы и ссылки на
другие объекты доступные JVM через указатель стека.
Используется для организации выполнения текущих методов.
Стек создается под поток выполнения программы
Слайд 18Вопрос 9
Какая разница между Stack и Heap памятью в Java?
Слайд 19Какая разница между Stack и Heap памятью в Java?
Куча используется всеми частями
приложения в то время как стек используется только одним потоком исполнения программы.
Всякий раз, когда создается объект, он всегда хранится в куче, а в памяти стека содержится ссылка на него. Память стека содержит только локальные переменные примитивных типов и ссылки на объекты в куче.
Объекты в куче доступны с любой точки программы, в то время как стековая память не может быть доступна для других потоков.
Управление памятью в стеке осуществляется по схеме LIFO.
Стековая память существует лишь какое-то время работы программы, а память в куче живет с самого начала до конца работы программы.
Мы можем использовать -Xms и -Xmx опции JVM, чтобы определить начальный и максимальный размер памяти в куче. Для стека определить размер памяти можно с помощью опции -Xss .
Если память стека полностью занята, то Java Runtime бросает java.lang.StackOverflowError, а если память кучи заполнена, то бросается исключение java.lang.OutOfMemoryError: Java Heap Space.
Размер памяти стека намного меньше памяти в куче. Из-за простоты распределения памяти (LIFO), стековая память работает намного быстрее кучи.
Слайд 20Вопрос 10
Что такое garbage collector и особенности его работы?