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