Что выведет код?
Anonymous Quiz
25%
byte...
17%
long, long
33%
Byte, Byte
25%
ничего, код не скомпилируется
😱24👍11🤔6😢1
Введение в многопоточность в Java. Часть 2. Жизненный цикл потоков, Thread.join() и потоки-демоны
В этой части узнаем, какие состояния проходят потоки в своем жизненном цикле, что такое ожидание потоков и что такое потоки-демоны.
Смотреть статью
В этой части узнаем, какие состояния проходят потоки в своем жизненном цикле, что такое ожидание потоков и что такое потоки-демоны.
Смотреть статью
Библиотека программиста
☕🧵 Введение в многопоточность в Java. Часть 2. Жизненный цикл потоков, Thread.join() и потоки-демоны
В этой части узнаем, какие состояния проходят потоки в своем жизненном цикле, что такое ожидание потоков и что такое потоки-демоны.
👍7
Какой результат работы данного фрагмента кода?
for(;;) {
}
for(;;) {
}
Anonymous Quiz
7%
Ошибка на этапе выполнения
62%
Бесконечный цикл
17%
Ошибка на этапе компиляции
6%
Все варианты неверные
8%
Узнать ответ
👍23🤔6🔥1
#Вопросы_с_собеседования
❓Сколько переходов происходит в момент вызова HashMap.get(key) по ключу, который есть в таблице?
• ключ равен null: 1 - выполняется единственный метод getForNullKey().
• любой ключ отличный от null: 4 - вычисление хэш-кода ключа; определение номера корзины; поиск значения; возврат значения.
❓Сколько переходов происходит в момент вызова HashMap.get(key) по ключу, который есть в таблице?
• ключ равен null: 1 - выполняется единственный метод getForNullKey().
• любой ключ отличный от null: 4 - вычисление хэш-кода ключа; определение номера корзины; поиск значения; возврат значения.
👍19
#Вопросы_с_собеседования
❓Чем полезны неизменяемые объекты?
Неизменяемость (immutability) помогает облегчить написание многопоточного кода. Неизменяемый объект может быть использован без какой-либо синхронизации. К сожалению, в Java нет аннотации @Immutable , которая делает объект неизменяемым, для этого разработчикам нужно самим создавать класс с необходимыми характеристиками.
Для этого необходимо следовать некоторым общим принципам: инициализация всех полей только в конструкторе, отсутствие методов setX() вносящих изменения в поля класса, отсутствие утечек ссылки, организация отдельного хранилища копий изменяемых объектов и т.д.
❓Чем полезны неизменяемые объекты?
Для этого необходимо следовать некоторым общим принципам: инициализация всех полей только в конструкторе, отсутствие методов setX()
👍35
Корректно ли такое выражение?
Anonymous Quiz
42%
Да
50%
Нет, будет ошибка компиляции
8%
Нет, будет ошибка во время выполнения
👍17
#вопросы_с_собеседований
Какие классы поддерживают чтение и запись потоков в компрессированном формате?
☕️ DeflaterOutputStream — компрессия данных в формате deflate.
☕️ Deflater — компрессия данных в формат ZLIB.
☕️ ZipOutputStream — потомок DeflaterOutputStream для компрессии данных в формат Zip.
☕️ GZIPOutputStream — потомок DeflaterOutputStream для компрессии данных в формат GZIP.
☕️ InflaterInputStream — декомпрессия данных в формате deflate.
☕️ Inflater — декомпрессия данных в формате ZLIB.
☕️ ZipInputStream — потомок InflaterInputStream для декомпрессии данных в формате Zip.
☕️ GZIPInputStream — потомок InflaterInputStream для декомпрессии данных в формате GZIP.
Какие классы поддерживают чтение и запись потоков в компрессированном формате?
☕️ DeflaterOutputStream — компрессия данных в формате deflate.
☕️ Deflater — компрессия данных в формат ZLIB.
☕️ ZipOutputStream — потомок DeflaterOutputStream для компрессии данных в формат Zip.
☕️ GZIPOutputStream — потомок DeflaterOutputStream для компрессии данных в формат GZIP.
☕️ InflaterInputStream — декомпрессия данных в формате deflate.
☕️ Inflater — декомпрессия данных в формате ZLIB.
☕️ ZipInputStream — потомок InflaterInputStream для декомпрессии данных в формате Zip.
☕️ GZIPInputStream — потомок InflaterInputStream для декомпрессии данных в формате GZIP.
👍12
📌 Разработка на Java (видеокурс)
1. Знакомство с платформой Java
2. Базовые конструкции языка
3. Объектно-ориентированное программирование
4. Исключения. Reflection API
5. Коллекции и параметризация
6. Взаимодействие потоков
7. Внутренние и анонимные классы
8. Работа с базой данных
9. Сокеты, разбор задачи Мессенджер
10. Основы тестирования
11. Потоки
12. NIO
13. Тестирование
14. Memory Model
1. Знакомство с платформой Java
2. Базовые конструкции языка
3. Объектно-ориентированное программирование
4. Исключения. Reflection API
5. Коллекции и параметризация
6. Взаимодействие потоков
7. Внутренние и анонимные классы
8. Работа с базой данных
9. Сокеты, разбор задачи Мессенджер
10. Основы тестирования
11. Потоки
12. NIO
13. Тестирование
14. Memory Model
👍22
#Вопросы_с_собеседования
Сколько объектов типа String создает эта программа?
Ответ:
Программа создаст два string-объекта. Когда мы создаем строку, используя оператор new, она сначала создастся в Java String Pool и только потом в куче (heap memory). Но только при условии, что этой строки ещё нет в пуле Java String.
Сколько объектов типа String создает эта программа?
Ответ:
👍34🤔5😱5
#Вопросы_с_собеседования
❓Как принудительно запустить поток?
Ответ:
Никак. В Java не существует абсолютно никакого способа принудительного запуска потока. Это контролируется JVM и Java не предоставляет никакого API для управления этим процессом.
❓Как принудительно запустить поток?
Ответ:
👍32
63 маленьких видео по фичам IntelliJ IDEA
https://youtube.com/playlist?list=PLG1Jgal0l0oiyoa9ba894ggu031z2YzYr
https://youtube.com/playlist?list=PLG1Jgal0l0oiyoa9ba894ggu031z2YzYr
YouTube
IntelliJ IDEA Tips & Tricks (Java)
You can find interesting tips & tricks for using IntelliJ IDEA for drastically improving your productivity. This playlist has videos that cover keyboard shor...
👍18
#Вопросы_с_собеседования
❓Что такое «абсолютный путь» и «относительный путь»?
Абсолютный (полный) путь — это путь, который указывает на одно и то же место в файловой системе, вне зависимости от текущей рабочей директории или других обстоятельств. Полный путь всегда начинается с корневого каталога.
Относительный путь представляет собой путь по отношению к текущему рабочему каталогу пользователя или активного приложения.
❓Что такое «абсолютный путь» и «относительный путь»?
Абсолютный (полный) путь — это путь, который указывает на одно и то же место в файловой системе, вне зависимости от текущей рабочей директории или других обстоятельств. Полный путь всегда начинается с корневого каталога.
Относительный путь представляет собой путь по отношению к текущему рабочему каталогу пользователя или активного приложения.
👍16
#Вопросы_с_собеседования
❓Чем различаются JRE, JVM и JDK?
TL;DR: JDK - среда для разработки программ на Java, включающая в себя JRE - среду для обеспечения запуска Java программ, которая в свою очередь содержит JVM - интерпретатор кода Java программ.
☕️ JVM, Java Virtual Machine (Виртуальная машина Java) — основная часть среды времени исполнения Java (JRE). Виртуальная машина Java исполняет байт-код Java, предварительно созданный из исходного текста Java-программы компилятором. JVM может также использоваться для выполнения программ, написанных на других языках программирования.
☕️ JRE, Java Runtime Environment (Среда времени выполнения Java) — минимально-необходимая реализация виртуальной машины для исполнения Java-приложений. Состоит из JVM и стандартного набора библиотек классов Java.
☕️ JDK, Java Development Kit (Комплект разработки на Java) — JRE и набор инструментов разработчика приложений на языке Java, включающий в себя компилятор Java, стандартные библиотеки классов Java, примеры, документацию, различные утилиты.
❓Чем различаются JRE, JVM и JDK?
TL;DR: JDK - среда для разработки программ на Java, включающая в себя JRE - среду для обеспечения запуска Java программ, которая в свою очередь содержит JVM - интерпретатор кода Java программ.
☕️ JVM, Java Virtual Machine (Виртуальная машина Java) — основная часть среды времени исполнения Java (JRE). Виртуальная машина Java исполняет байт-код Java, предварительно созданный из исходного текста Java-программы компилятором. JVM может также использоваться для выполнения программ, написанных на других языках программирования.
☕️ JRE, Java Runtime Environment (Среда времени выполнения Java) — минимально-необходимая реализация виртуальной машины для исполнения Java-приложений. Состоит из JVM и стандартного набора библиотек классов Java.
☕️ JDK, Java Development Kit (Комплект разработки на Java) — JRE и набор инструментов разработчика приложений на языке Java, включающий в себя компилятор Java, стандартные библиотеки классов Java, примеры, документацию, различные утилиты.
👍34❤1