Daemon потоки в Java
#java #concurrency
Несколько фактов про Daemon потоки в Java:
1) В Java есть два вида потоков: User и Daemon
2) JVM будет ждать завершения всех User потоков (не Daemon)
3) Если были завершены все User потоки, то JVM не будет ждать завершения работы Daemon потоков. JVM просто завершит свою работу. Никакие finally блоки в Daemon потоках также не будут выполнены. Поэтому не рекомендуется производить никакие I/O операции в Daemon потоках.
4) Из 3) есть исключение. Если был вызов .join() на выполняющемся Daemon потоке, то это может помешать завершению работы JVM. Поэтому это не рекомендуется делать.
5) Daemon потоки обычно используется для вспомогательной логики. Потоки самой JVM (например GC) являются Daemon потоками.
6) Чтобы сделать поток Daemon, нужно вызвать .setDaemon(true);
7) Если вызвать setDaemon после start(), то это приведет к IllegalThreadStateException. Вызов нужно делать после создания потока, но перед start
8) Daemon флаг наследуется от родительского потока. Если вы в Daemon потоке создали еще один поток, то он будет Daemon по умолчанию.
8) Daemon потоки имеют более низкий приоритет по сравнению с другими потоками
#java #concurrency
Несколько фактов про Daemon потоки в Java:
1) В Java есть два вида потоков: User и Daemon
2) JVM будет ждать завершения всех User потоков (не Daemon)
3) Если были завершены все User потоки, то JVM не будет ждать завершения работы Daemon потоков. JVM просто завершит свою работу. Никакие finally блоки в Daemon потоках также не будут выполнены. Поэтому не рекомендуется производить никакие I/O операции в Daemon потоках.
4) Из 3) есть исключение. Если был вызов .join() на выполняющемся Daemon потоке, то это может помешать завершению работы JVM. Поэтому это не рекомендуется делать.
5) Daemon потоки обычно используется для вспомогательной логики. Потоки самой JVM (например GC) являются Daemon потоками.
6) Чтобы сделать поток Daemon, нужно вызвать .setDaemon(true);
7) Если вызвать setDaemon после start(), то это приведет к IllegalThreadStateException. Вызов нужно делать после создания потока, но перед start
8) Daemon флаг наследуется от родительского потока. Если вы в Daemon потоке создали еще один поток, то он будет Daemon по умолчанию.
8) Daemon потоки имеют более низкий приоритет по сравнению с другими потоками
👍9
Подборка вопросов и ответов для подготовки к собеседованию на Java программиста
#java #interview #собеседование
Обновление подборки.
Подборку составил из постов, которые я уже публиковал ранее в этом канале. Часть опубликована на medium (возможно потребуется vpn).
Общие вопросы:
1) Методы класса Object
2) Иерархия и типы исключений
3) GC
4) Сравнение строк в Java
Коллекции:
5) HashMap
6) ArrayList vs LinkedList
7) Иерархия коллекций в Java
8) Иерархия Map
9) Maximum ArraySize
Многопоточность:
10) Перевод между банковскими аккаунтами (dead-lock).
11) Ping-Pong (wait-notify).
12) Приостанавливаемый поток.
13) Подборка вопросов по многопоточности
14) Напечатать последовательность чисел при помощи нескольких потоков на Java.
15) ConcurrentModificationException
16) Thread Safe Singleton
17) Обедающие философы
18) Реализовать потокобезопасную блокирующую очередь на Java ограниченного размера
19) Реализовать потокобезопасный неблокирующий стек на Java
20) Daemon потоки
#java #interview #собеседование
Обновление подборки.
Подборку составил из постов, которые я уже публиковал ранее в этом канале. Часть опубликована на medium (возможно потребуется vpn).
Общие вопросы:
1) Методы класса Object
2) Иерархия и типы исключений
3) GC
4) Сравнение строк в Java
Коллекции:
5) HashMap
6) ArrayList vs LinkedList
7) Иерархия коллекций в Java
8) Иерархия Map
9) Maximum ArraySize
Многопоточность:
10) Перевод между банковскими аккаунтами (dead-lock).
11) Ping-Pong (wait-notify).
12) Приостанавливаемый поток.
13) Подборка вопросов по многопоточности
14) Напечатать последовательность чисел при помощи нескольких потоков на Java.
15) ConcurrentModificationException
16) Thread Safe Singleton
17) Обедающие философы
18) Реализовать потокобезопасную блокирующую очередь на Java ограниченного размера
19) Реализовать потокобезопасный неблокирующий стек на Java
20) Daemon потоки
Telegraph
Какие методы класса Object вы знаете?
Все классы в Java наследуют класс Object. Официальная документация: Object. Его методы: 1) getClass() - получить runtime класс объекта. 2) toString() - возвращает текстовое представление объекта 3) hashCode() - Возвращает hash code объекта. Используется,…
🔥26👍8❤1
Может ли такой код привести к deadlock?
#java #concurrency
class A {
public synchronized void foo() {
...
}
}
class B extends A {
public synchronized void foo() {
...
super.foo();
}
}
Как мы видим, оба метода foo в классе A и классе B synchronized. Синхронизация в данном случае на одном и том же объекте.
Обычно deadlock возникает в многопоточной среде, когда потоки получают локи на хотя бы двух объектах в разном порядке.
Например,
void foo(Object obj1, Object obj2) {
synchronized(obj1) {
synchronized(obj2) {
....
}
}
}
и один поток вызывает foo(obj1, obj2), а второй поток вызывает foo(obj2, obj1), то может возникнуть deadlock. Т.к. один поток получит лок на один объект и будет ждать получения лока на второй объект. А второй поток наоборот. Получит сначала лок на второй и будет ждать получения лока на первый объект, который держит первый поток.
В данном случае ситуация иная. У нас всего один объект.
Давайте посмотрим, что будет если у нас всего один поток.
Например, у нас такой код B b = new B(); b.foo();
Вызывающий поток получит лок на B при вызове foo из класса B. Далее дойдет до кода super.foo(). Этот вызов тоже synchronized на том же объекте.
Лок на этот объект уже получен вызывающим потоком. И если бы в Java synchronized был бы не reentrant, то поток бы ждал пока лок отпустят, чтобы его получить. В таком случае мог бы возникнуть deadlock. Но в силу того, что в Java synchronized в Java Reentrant один и тот же поток может получить лок на один и тот же объект множество раз. Для каждого такого лока (монитора) есть некий счетчик(сколько раз получен монитор на данный объект) и идентификатор потока, который его получил. Лок может получить только один поток, но множество раз. Как только счетчик упадет до нуля, это значит, что другой поток может получить теперь монитор (лок) на данном объекте.
Поэтому deadlock не возникнет благодаря свойству reentrancy локов при помощи synchronized (intrinsic locks).
#java #concurrency
class A {
public synchronized void foo() {
...
}
}
class B extends A {
public synchronized void foo() {
...
super.foo();
}
}
Как мы видим, оба метода foo в классе A и классе B synchronized. Синхронизация в данном случае на одном и том же объекте.
Обычно deadlock возникает в многопоточной среде, когда потоки получают локи на хотя бы двух объектах в разном порядке.
Например,
void foo(Object obj1, Object obj2) {
synchronized(obj1) {
synchronized(obj2) {
....
}
}
}
и один поток вызывает foo(obj1, obj2), а второй поток вызывает foo(obj2, obj1), то может возникнуть deadlock. Т.к. один поток получит лок на один объект и будет ждать получения лока на второй объект. А второй поток наоборот. Получит сначала лок на второй и будет ждать получения лока на первый объект, который держит первый поток.
В данном случае ситуация иная. У нас всего один объект.
Давайте посмотрим, что будет если у нас всего один поток.
Например, у нас такой код B b = new B(); b.foo();
Вызывающий поток получит лок на B при вызове foo из класса B. Далее дойдет до кода super.foo(). Этот вызов тоже synchronized на том же объекте.
Лок на этот объект уже получен вызывающим потоком. И если бы в Java synchronized был бы не reentrant, то поток бы ждал пока лок отпустят, чтобы его получить. В таком случае мог бы возникнуть deadlock. Но в силу того, что в Java synchronized в Java Reentrant один и тот же поток может получить лок на один и тот же объект множество раз. Для каждого такого лока (монитора) есть некий счетчик(сколько раз получен монитор на данный объект) и идентификатор потока, который его получил. Лок может получить только один поток, но множество раз. Как только счетчик упадет до нуля, это значит, что другой поток может получить теперь монитор (лок) на данном объекте.
Поэтому deadlock не возникнет благодаря свойству reentrancy локов при помощи synchronized (intrinsic locks).
👍14
Подборка вопросов и ответов для подготовки к собеседованию на Java программиста
#java #interview #собеседование
Обновление подборки.
Подборку составил из постов, которые я уже публиковал ранее в этом канале. Часть опубликована на medium (возможно потребуется vpn).
Общие вопросы:
1) Методы класса Object
2) Иерархия и типы исключений
3) GC
4) Сравнение строк в Java
Коллекции:
5) HashMap
6) ArrayList vs LinkedList
7) Иерархия коллекций в Java
8) Иерархия Map
9) Maximum ArraySize
Многопоточность:
10) Перевод между банковскими аккаунтами (dead-lock).
11) Ping-Pong (wait-notify).
12) Приостанавливаемый поток.
13) Подборка вопросов по многопоточности
14) Напечатать последовательность чисел при помощи нескольких потоков на Java.
15) ConcurrentModificationException
16) Thread Safe Singleton
17) Обедающие философы
18) Реализовать потокобезопасную блокирующую очередь на Java ограниченного размера
19) Реализовать потокобезопасный неблокирующий стек на Java
20) Daemon потоки
21) Является ли immutable class в Java Thread safe?
22) Implicit Lock Reentrancy
SQL:
23) Типы SQL joins
24) Плюсы и минусы индексов
#java #interview #собеседование
Обновление подборки.
Подборку составил из постов, которые я уже публиковал ранее в этом канале. Часть опубликована на medium (возможно потребуется vpn).
Общие вопросы:
1) Методы класса Object
2) Иерархия и типы исключений
3) GC
4) Сравнение строк в Java
Коллекции:
5) HashMap
6) ArrayList vs LinkedList
7) Иерархия коллекций в Java
8) Иерархия Map
9) Maximum ArraySize
Многопоточность:
10) Перевод между банковскими аккаунтами (dead-lock).
11) Ping-Pong (wait-notify).
12) Приостанавливаемый поток.
13) Подборка вопросов по многопоточности
14) Напечатать последовательность чисел при помощи нескольких потоков на Java.
15) ConcurrentModificationException
16) Thread Safe Singleton
17) Обедающие философы
18) Реализовать потокобезопасную блокирующую очередь на Java ограниченного размера
19) Реализовать потокобезопасный неблокирующий стек на Java
20) Daemon потоки
21) Является ли immutable class в Java Thread safe?
22) Implicit Lock Reentrancy
SQL:
23) Типы SQL joins
24) Плюсы и минусы индексов
Telegraph
Какие методы класса Object вы знаете?
Все классы в Java наследуют класс Object. Официальная документация: Object. Его методы: 1) getClass() - получить runtime класс объекта. 2) toString() - возвращает текстовое представление объекта 3) hashCode() - Возвращает hash code объекта. Используется,…
👍11❤4
Задача с собеседования: Число островов
#dfs #алгоритмы #собеседование
Записал еще один видос с разбором задачи на dfs: https://youtu.be/dXeoNguCK2k?si=2Wj0m5PgNwbAl7Ce
Видео длинное, потому что я написал несколько вариантов решения (рекурсивное, со стеком, с и без visited)
#dfs #алгоритмы #собеседование
Записал еще один видос с разбором задачи на dfs: https://youtu.be/dXeoNguCK2k?si=2Wj0m5PgNwbAl7Ce
Видео длинное, потому что я написал несколько вариантов решения (рекурсивное, со стеком, с и без visited)
YouTube
Leetcode 200. Number of Islands. Задача с собеседования в Facebook (FAANG): Число островов.
Решение алгоритмической задачи с собеседования в Facebook и другие FAANG/MAANG компании. #google #amazon #facebook #meta #interview #algorithm #собеседование #java #алгоритмы #java #programming #программирование #программисты #программист #faang #leetcode…
👍10❤1
Задача с собеседования: top k элементов в массиве
Записал разбор еще одной простой задачи с собеседования, которую все решают неоптимальным способом.
https://www.youtube.com/watch?v=lJqjJjHiodk
Записал разбор еще одной простой задачи с собеседования, которую все решают неоптимальным способом.
https://www.youtube.com/watch?v=lJqjJjHiodk
YouTube
Простая задача с собеседования в Amazon, Facebook, Google (FAANG), которую все решают неправильно
#google #amazon #facebook #meta #interview #algorithm #собеседование #java #алгоритмы #java #programming #программирование #программисты #программист #faang
Найти топ k элементов в массиве. Найти k наибольший или наименьший элемент в массиве за линейное…
Найти топ k элементов в массиве. Найти k наибольший или наименьший элемент в массиве за линейное…
👍5🔥4
Подборка вопросов и ответов для подготовки к собеседованию на Java программиста
#java #interview #собеседование
Статьи, которые были на medium, мигрировал на dev.to. Напишите, если есть какие-то проблемы с форматированием или ссылками после миграции.
Общие вопросы:
1) Методы класса Object
2) Иерархия и типы исключений
3) GC
4) Сравнение строк в Java
Коллекции:
5) HashMap
6) ArrayList vs LinkedList
7) Иерархия коллекций в Java
8) Иерархия Map
9) Maximum ArraySize
Многопоточность:
10) Перевод между банковскими аккаунтами (dead-lock).
11) Ping-Pong (wait-notify).
12) Приостанавливаемый поток.
13) Подборка вопросов по многопоточности
14) Напечатать последовательность чисел при помощи нескольких потоков на Java.
15) ConcurrentModificationException
16) Thread Safe Singleton
17) Обедающие философы
18) Реализовать потокобезопасную блокирующую очередь на Java ограниченного размера
19) Реализовать потокобезопасный неблокирующий стек на Java
20) Daemon потоки
21) Является ли immutable class в Java Thread safe?
22) Implicit Lock Reentrancy
SQL:
23) Типы SQL joins
24) Плюсы и минусы индексов
#java #interview #собеседование
Статьи, которые были на medium, мигрировал на dev.to. Напишите, если есть какие-то проблемы с форматированием или ссылками после миграции.
Общие вопросы:
1) Методы класса Object
2) Иерархия и типы исключений
3) GC
4) Сравнение строк в Java
Коллекции:
5) HashMap
6) ArrayList vs LinkedList
7) Иерархия коллекций в Java
8) Иерархия Map
9) Maximum ArraySize
Многопоточность:
10) Перевод между банковскими аккаунтами (dead-lock).
11) Ping-Pong (wait-notify).
12) Приостанавливаемый поток.
13) Подборка вопросов по многопоточности
14) Напечатать последовательность чисел при помощи нескольких потоков на Java.
15) ConcurrentModificationException
16) Thread Safe Singleton
17) Обедающие философы
18) Реализовать потокобезопасную блокирующую очередь на Java ограниченного размера
19) Реализовать потокобезопасный неблокирующий стек на Java
20) Daemon потоки
21) Является ли immutable class в Java Thread safe?
22) Implicit Lock Reentrancy
SQL:
23) Типы SQL joins
24) Плюсы и минусы индексов
DEV Community
faangmaster — DEV Community Profile
Мой телеграм: https://t.me/faangmaster
Мой youtube: https://www.youtube.com/@faangmaster
Мой youtube: https://www.youtube.com/@faangmaster
🔥15❤3👍3💘3
Вопрос с собеседования по Java: что такое Java Memory Model и happens-before
#java #concurrency
Более подробно можно почитать в книге Java Concurrency in Practice by Brian Goetz. Которую, я уже рекомендовал в этом канале.
Кратко написал тут: https://dev.to/faangmaster/vopros-s-sobiesiedovaniia-chto-takoie-java-memory-model-i-happens-before-410g
#java #concurrency
Более подробно можно почитать в книге Java Concurrency in Practice by Brian Goetz. Которую, я уже рекомендовал в этом канале.
Кратко написал тут: https://dev.to/faangmaster/vopros-s-sobiesiedovaniia-chto-takoie-java-memory-model-i-happens-before-410g
DEV Community
Вопрос с собеседования: что такое Java Memory Model и happens-before
Java Memory Model это спецификация того, как JVM управляет памятью в многозадачных средах. Она...
👍16❤2
Подборка вопросов и ответов для подготовки к собеседованию на Java программиста
#java #interview #собеседование
Обновление подборки из статей, которые я уже написал и опубликовал в этом канале.
Общие вопросы:
1) Методы класса Object
2) Иерархия и типы исключений
3) GC
4) Сравнение строк в Java
Коллекции:
5) HashMap
6) ArrayList vs LinkedList
7) Иерархия коллекций в Java
8) Иерархия Map
9) Maximum ArraySize
Многопоточность:
10) Перевод между банковскими аккаунтами (dead-lock).
11) Ping-Pong (wait-notify).
12) Приостанавливаемый поток.
13) Подборка вопросов по многопоточности
14) Напечатать последовательность чисел при помощи нескольких потоков на Java.
15) ConcurrentModificationException
16) Thread Safe Singleton
17) Обедающие философы
18) Реализовать потокобезопасную блокирующую очередь на Java ограниченного размера
19) Реализовать потокобезопасный неблокирующий стек на Java
20) Daemon потоки
21) Является ли immutable class в Java Thread safe?
22) Implicit Lock Reentrancy
23) Java Memory Model и happens-before
24) ConcurrentHashMap vs Collections.synchronizedMap vs Hashtable vs HashMap
SQL:
25) Типы SQL joins
26) Плюсы и минусы индексов
#java #interview #собеседование
Обновление подборки из статей, которые я уже написал и опубликовал в этом канале.
Общие вопросы:
1) Методы класса Object
2) Иерархия и типы исключений
3) GC
4) Сравнение строк в Java
Коллекции:
5) HashMap
6) ArrayList vs LinkedList
7) Иерархия коллекций в Java
8) Иерархия Map
9) Maximum ArraySize
Многопоточность:
10) Перевод между банковскими аккаунтами (dead-lock).
11) Ping-Pong (wait-notify).
12) Приостанавливаемый поток.
13) Подборка вопросов по многопоточности
14) Напечатать последовательность чисел при помощи нескольких потоков на Java.
15) ConcurrentModificationException
16) Thread Safe Singleton
17) Обедающие философы
18) Реализовать потокобезопасную блокирующую очередь на Java ограниченного размера
19) Реализовать потокобезопасный неблокирующий стек на Java
20) Daemon потоки
21) Является ли immutable class в Java Thread safe?
22) Implicit Lock Reentrancy
23) Java Memory Model и happens-before
24) ConcurrentHashMap vs Collections.synchronizedMap vs Hashtable vs HashMap
SQL:
25) Типы SQL joins
26) Плюсы и минусы индексов
Telegraph
Какие методы класса Object вы знаете?
Все классы в Java наследуют класс Object. Официальная документация: Object. Его методы: 1) getClass() - получить runtime класс объекта. 2) toString() - возвращает текстовое представление объекта 3) hashCode() - Возвращает hash code объекта. Используется,…
👍22🔥3❤2❤🔥1
Задача с собеседования: Реализовать потокобезопасную неблокирующую очередь на Java
#java #concurrency
Задача. Реализовать потокобезопасную (Thread Safe) неблокирующую очередь на Java Т.е. нельзя использовать локи или synchonized, при этом она должна корректно работать в многопоточной среде.
Решение. Описал тут: Реализовать потокобезопасную неблокирующую очередь на Java
Смотрите также: Реализовать потокобезопасный неблокирующий стек на Java
#java #concurrency
Задача. Реализовать потокобезопасную (Thread Safe) неблокирующую очередь на Java Т.е. нельзя использовать локи или synchonized, при этом она должна корректно работать в многопоточной среде.
Решение. Описал тут: Реализовать потокобезопасную неблокирующую очередь на Java
Смотрите также: Реализовать потокобезопасный неблокирующий стек на Java
DEV Community
Реализовать потокобезопасную неблокирующую очередь на Java
Задача. Реализовать потокобезопасную (Thread Safe) неблокирующую очередь на Java Т.е....
👍13🔥5
Подборка вопросов и ответов для подготовки к собеседованию на Java программиста
#java #interview #собеседование
Обновление подборки из статей, которые я уже написал и опубликовал в этом канале.
Общие вопросы:
1) Методы класса Object
2) Иерархия и типы исключений
3) GC
4) Сравнение строк в Java
Коллекции:
5) HashMap
6) ArrayList vs LinkedList
7) Иерархия коллекций в Java
8) Иерархия Map
9) Maximum ArraySize
Многопоточность:
10) Перевод между банковскими аккаунтами (dead-lock).
11) Ping-Pong (wait-notify).
12) Приостанавливаемый поток.
13) Подборка вопросов по многопоточности
14) Напечатать последовательность чисел при помощи нескольких потоков на Java.
15) ConcurrentModificationException
16) Thread Safe Singleton
17) Обедающие философы
18) Реализовать потокобезопасную блокирующую очередь на Java ограниченного размера
19) Реализовать потокобезопасный неблокирующий стек на Java
20) Daemon потоки
21) Является ли immutable class в Java Thread safe?
22) Implicit Lock Reentrancy
23) Java Memory Model и happens-before
24) ConcurrentHashMap vs Collections.synchronizedMap vs Hashtable vs HashMap
25) Реализовать потокобезопасную неблокирующую очередь на Java
SQL:
26) Типы SQL joins
27) Плюсы и минусы индексов
Spring:
28) Что такое @Autowire в Spring? Как его использовать и как он работает?
#java #interview #собеседование
Обновление подборки из статей, которые я уже написал и опубликовал в этом канале.
Общие вопросы:
1) Методы класса Object
2) Иерархия и типы исключений
3) GC
4) Сравнение строк в Java
Коллекции:
5) HashMap
6) ArrayList vs LinkedList
7) Иерархия коллекций в Java
8) Иерархия Map
9) Maximum ArraySize
Многопоточность:
10) Перевод между банковскими аккаунтами (dead-lock).
11) Ping-Pong (wait-notify).
12) Приостанавливаемый поток.
13) Подборка вопросов по многопоточности
14) Напечатать последовательность чисел при помощи нескольких потоков на Java.
15) ConcurrentModificationException
16) Thread Safe Singleton
17) Обедающие философы
18) Реализовать потокобезопасную блокирующую очередь на Java ограниченного размера
19) Реализовать потокобезопасный неблокирующий стек на Java
20) Daemon потоки
21) Является ли immutable class в Java Thread safe?
22) Implicit Lock Reentrancy
23) Java Memory Model и happens-before
24) ConcurrentHashMap vs Collections.synchronizedMap vs Hashtable vs HashMap
25) Реализовать потокобезопасную неблокирующую очередь на Java
SQL:
26) Типы SQL joins
27) Плюсы и минусы индексов
Spring:
28) Что такое @Autowire в Spring? Как его использовать и как он работает?
Telegraph
Какие методы класса Object вы знаете?
Все классы в Java наследуют класс Object. Официальная документация: Object. Его методы: 1) getClass() - получить runtime класс объекта. 2) toString() - возвращает текстовое представление объекта 3) hashCode() - Возвращает hash code объекта. Используется,…
👍14🔥7
Подборка вопросов и ответов для подготовки к собеседованию на Java программиста
#java #interview #собеседование
Обновление подборки из статей, которые я уже написал и опубликовал в этом канале.
Общие вопросы:
1) Методы класса Object
2) Иерархия и типы исключений
3) GC
4) Сравнение строк в Java
Коллекции:
5) HashMap
6) ArrayList vs LinkedList
7) Иерархия коллекций в Java
8) Иерархия Map
9) Maximum ArraySize
Многопоточность:
10) Перевод между банковскими аккаунтами (dead-lock).
11) Ping-Pong (wait-notify).
12) Приостанавливаемый поток.
13) Подборка вопросов по многопоточности
14) Напечатать последовательность чисел при помощи нескольких потоков на Java.
15) ConcurrentModificationException
16) Thread Safe Singleton
17) Обедающие философы
18) Реализовать потокобезопасную блокирующую очередь на Java ограниченного размера
19) Реализовать потокобезопасный неблокирующий стек на Java
20) Daemon потоки
21) Является ли immutable class в Java Thread safe?
22) Implicit Lock Reentrancy
23) Java Memory Model и happens-before
24) ConcurrentHashMap vs Collections.synchronizedMap vs Hashtable vs HashMap
25) Реализовать потокобезопасную неблокирующую очередь на Java
26) Вопрос с собеседования на Java программиста: Как выполнить код в отдельном потоке в Java?
SQL:
27) Типы SQL joins
28) Плюсы и минусы индексов
Spring:
29) Что такое @Autowire в Spring? Как его использовать и как он работает?
#java #interview #собеседование
Обновление подборки из статей, которые я уже написал и опубликовал в этом канале.
Общие вопросы:
1) Методы класса Object
2) Иерархия и типы исключений
3) GC
4) Сравнение строк в Java
Коллекции:
5) HashMap
6) ArrayList vs LinkedList
7) Иерархия коллекций в Java
8) Иерархия Map
9) Maximum ArraySize
Многопоточность:
10) Перевод между банковскими аккаунтами (dead-lock).
11) Ping-Pong (wait-notify).
12) Приостанавливаемый поток.
13) Подборка вопросов по многопоточности
14) Напечатать последовательность чисел при помощи нескольких потоков на Java.
15) ConcurrentModificationException
16) Thread Safe Singleton
17) Обедающие философы
18) Реализовать потокобезопасную блокирующую очередь на Java ограниченного размера
19) Реализовать потокобезопасный неблокирующий стек на Java
20) Daemon потоки
21) Является ли immutable class в Java Thread safe?
22) Implicit Lock Reentrancy
23) Java Memory Model и happens-before
24) ConcurrentHashMap vs Collections.synchronizedMap vs Hashtable vs HashMap
25) Реализовать потокобезопасную неблокирующую очередь на Java
26) Вопрос с собеседования на Java программиста: Как выполнить код в отдельном потоке в Java?
SQL:
27) Типы SQL joins
28) Плюсы и минусы индексов
Spring:
29) Что такое @Autowire в Spring? Как его использовать и как он работает?
Telegraph
Какие методы класса Object вы знаете?
Все классы в Java наследуют класс Object. Официальная документация: Object. Его методы: 1) getClass() - получить runtime класс объекта. 2) toString() - возвращает текстовое представление объекта 3) hashCode() - Возвращает hash code объекта. Используется,…
🔥13👍6💘3
Записал видео урок по массивам для начинающих
Видео предназначенно для начинающих и не предназначенно для подготовки к собесам. Только как пререквезит, перед более глубоким изучением.
https://youtu.be/eSloKL3XUEE?si=eT7arTMMalLUk1Q_
Видео предназначенно для начинающих и не предназначенно для подготовки к собесам. Только как пререквезит, перед более глубоким изучением.
https://youtu.be/eSloKL3XUEE?si=eT7arTMMalLUk1Q_
👍23🔥8✍1
Алгоритм Бинарного Поиска
Перезалил. Немного поправил громкость звука.
https://youtu.be/f2nYeGTkMog?si=VnNlVbgZ8nrKJ4w_
Перезалил. Немного поправил громкость звука.
https://youtu.be/f2nYeGTkMog?si=VnNlVbgZ8nrKJ4w_
👍18
Подборка вопросов и ответов для подготовки к собеседованию на Java программиста
#java #interview #собеседование
Обновление подборки из статей, которые я уже написал и опубликовал в этом канале.
Общие вопросы:
1) Методы класса Object
2) Иерархия и типы исключений
3) GC
4) Сравнение строк в Java
Коллекции:
5) HashMap
6) ArrayList vs LinkedList
7) Иерархия коллекций в Java
8) Иерархия Map
9) Maximum ArraySize
10) Как внутри устроен HashSet?
Многопоточность:
11) Перевод между банковскими аккаунтами (dead-lock).
12) Ping-Pong (wait-notify).
13) Приостанавливаемый поток.
14) Подборка вопросов по многопоточности
15) Напечатать последовательность чисел при помощи нескольких потоков на Java.
16) ConcurrentModificationException
17) Thread Safe Singleton
18) Обедающие философы
19) Реализовать потокобезопасную блокирующую очередь на Java ограниченного размера
20) Реализовать потокобезопасный неблокирующий стек на Java
21) Daemon потоки
22) Является ли immutable class в Java Thread safe?
23) Implicit Lock Reentrancy
24) Java Memory Model и happens-before
25) ConcurrentHashMap vs Collections.synchronizedMap vs Hashtable vs HashMap
26) Реализовать потокобезопасную неблокирующую очередь на Java
27) Вопрос с собеседования на Java программиста: Как выполнить код в отдельном потоке в Java?
SQL:
28) Типы SQL joins
29) Плюсы и минусы индексов
Spring:
30) Что такое @Autowire в Spring? Как его использовать и как он работает?
Бонус:
31) Логическая задача про лошадей. Решение: тут
#java #interview #собеседование
Обновление подборки из статей, которые я уже написал и опубликовал в этом канале.
Общие вопросы:
1) Методы класса Object
2) Иерархия и типы исключений
3) GC
4) Сравнение строк в Java
Коллекции:
5) HashMap
6) ArrayList vs LinkedList
7) Иерархия коллекций в Java
8) Иерархия Map
9) Maximum ArraySize
10) Как внутри устроен HashSet?
Многопоточность:
11) Перевод между банковскими аккаунтами (dead-lock).
12) Ping-Pong (wait-notify).
13) Приостанавливаемый поток.
14) Подборка вопросов по многопоточности
15) Напечатать последовательность чисел при помощи нескольких потоков на Java.
16) ConcurrentModificationException
17) Thread Safe Singleton
18) Обедающие философы
19) Реализовать потокобезопасную блокирующую очередь на Java ограниченного размера
20) Реализовать потокобезопасный неблокирующий стек на Java
21) Daemon потоки
22) Является ли immutable class в Java Thread safe?
23) Implicit Lock Reentrancy
24) Java Memory Model и happens-before
25) ConcurrentHashMap vs Collections.synchronizedMap vs Hashtable vs HashMap
26) Реализовать потокобезопасную неблокирующую очередь на Java
27) Вопрос с собеседования на Java программиста: Как выполнить код в отдельном потоке в Java?
SQL:
28) Типы SQL joins
29) Плюсы и минусы индексов
Spring:
30) Что такое @Autowire в Spring? Как его использовать и как он работает?
Бонус:
31) Логическая задача про лошадей. Решение: тут
Telegraph
Какие методы класса Object вы знаете?
Все классы в Java наследуют класс Object. Официальная документация: Object. Его методы: 1) getClass() - получить runtime класс объекта. 2) toString() - возвращает текстовое представление объекта 3) hashCode() - Возвращает hash code объекта. Используется,…
2❤9👍6🔥6
Подборка вопросов и ответов для подготовки к собеседованию на Java программиста
#java #interview #собеседование
Обновление подборки из статей, которые я уже написал и опубликовал в этом канале.
Общие вопросы:
1) Методы класса Object
2) Иерархия и типы исключений
3) GC
4) Сравнение строк в Java
Коллекции:
5) HashMap
6) ArrayList vs LinkedList
7) Иерархия коллекций в Java
8) Иерархия Map
9) Maximum ArraySize
10) Как внутри устроен HashSet?
Memory Leaks:
11) ThreadLocal Memory Leaks
Многопоточность:
12) Перевод между банковскими аккаунтами (dead-lock).
13) Ping-Pong (wait-notify).
14) Приостанавливаемый поток.
15) Подборка вопросов по многопоточности
16) Напечатать последовательность чисел при помощи нескольких потоков на Java.
17) ConcurrentModificationException
18) Thread Safe Singleton
19) Обедающие философы
20) Реализовать потокобезопасную блокирующую очередь на Java ограниченного размера
21) Реализовать потокобезопасный неблокирующий стек на Java
22) Daemon потоки
23) Является ли immutable class в Java Thread safe?
24) Implicit Lock Reentrancy
25) Java Memory Model и happens-before
26) ConcurrentHashMap vs Collections.synchronizedMap vs Hashtable vs HashMap
27) Реализовать потокобезопасную неблокирующую очередь на Java
28) Вопрос с собеседования на Java программиста: Как выполнить код в отдельном потоке в Java?
SQL:
29) Типы SQL joins
30) Плюсы и минусы индексов
Spring:
31) Что такое @Autowire в Spring? Как его использовать и как он работает?
Бонус:
32) Логическая задача про лошадей. Решение: тут
#java #interview #собеседование
Обновление подборки из статей, которые я уже написал и опубликовал в этом канале.
Общие вопросы:
1) Методы класса Object
2) Иерархия и типы исключений
3) GC
4) Сравнение строк в Java
Коллекции:
5) HashMap
6) ArrayList vs LinkedList
7) Иерархия коллекций в Java
8) Иерархия Map
9) Maximum ArraySize
10) Как внутри устроен HashSet?
Memory Leaks:
11) ThreadLocal Memory Leaks
Многопоточность:
12) Перевод между банковскими аккаунтами (dead-lock).
13) Ping-Pong (wait-notify).
14) Приостанавливаемый поток.
15) Подборка вопросов по многопоточности
16) Напечатать последовательность чисел при помощи нескольких потоков на Java.
17) ConcurrentModificationException
18) Thread Safe Singleton
19) Обедающие философы
20) Реализовать потокобезопасную блокирующую очередь на Java ограниченного размера
21) Реализовать потокобезопасный неблокирующий стек на Java
22) Daemon потоки
23) Является ли immutable class в Java Thread safe?
24) Implicit Lock Reentrancy
25) Java Memory Model и happens-before
26) ConcurrentHashMap vs Collections.synchronizedMap vs Hashtable vs HashMap
27) Реализовать потокобезопасную неблокирующую очередь на Java
28) Вопрос с собеседования на Java программиста: Как выполнить код в отдельном потоке в Java?
SQL:
29) Типы SQL joins
30) Плюсы и минусы индексов
Spring:
31) Что такое @Autowire в Spring? Как его использовать и как он работает?
Бонус:
32) Логическая задача про лошадей. Решение: тут
Telegraph
Какие методы класса Object вы знаете?
Все классы в Java наследуют класс Object. Официальная документация: Object. Его методы: 1) getClass() - получить runtime класс объекта. 2) toString() - возвращает текстовое представление объекта 3) hashCode() - Возвращает hash code объекта. Используется,…
👍10❤5