Java Learning
19.5K subscribers
1.6K photos
1 video
3 files
973 links
№ 5079899194

Обучающий канал по Java

Ссылка для друга - https://t.iss.one/+ZEYYht6-46w5MDM6

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Java_per_month
Download Telegram
Что выведет код сверху?
Anonymous Quiz
45%
40
4%
0
51%
Compiler Error
26👍13
🧠 25 самых используемых регулярных выражений в Java

Список из 25 регулярных выражений в Java, без которых не обойтись ни новичку, ни профессиональному разработчику. С примерами.

Смотреть статью
👍25
#Вопросы_с_собеседования

К каким конструкциям Java применим модификатор static?

• полям;
• методам;
• вложенным классам;
• членам секции import.
👍33
Популярные ошибки начинающих Java программистов

Часто начинающие Java программисты ошибаются в попытке удалить элемент во время обхода списка.

Рассмотрим пример кода, в котором происходит попытка удалить элемент во время обхода элементов списка(#неверно на картинке).

В ходе выполнения этого кода будет выброшено ConcurrentModificationException, так как нельзя удалять элементы во время итерирования по списку. Такая же ситуация будет и с for-each циклом.

Удалять элементы безопасно можно только при использовании интерфейса Iterator(см #верно на картинке).
👍25👎2
#Вопросы_с_собеседования

Сравнение Iterator и ListIterator

• ListIterator расширяет интерфейс Iterator
• ListIterator может быть использован только для перебора элементов коллекции List;
• Iterator позволяет перебирать элементы только в одном направлении, при помощи метода next(). Тогда как ListIterator позволяет перебирать список в обоих направлениях, при помощи методов next() и previous();
• ListIterator не указывает на конкретный элемент: его текущая позиция располагается между элементами, которые возвращают методы previous() и next().
• При помощи ListIterator вы можете модифицировать список, добавляя/удаляя элементы с помощью методов add() и remove(). Iterator не поддерживает данного функционала.
👍20👎1
Что такое литералы?

Литералы — это явно заданные значения в коде программы, константы определенного типа, которые находятся в коде в момент запуска.

В классе на картинке “Hello world!” — литерал, переменная a — тоже.

Литералы бывают разных типов, которые определяются их назначением и способом написания.
👍24
Вопросы с реального собеседования Senior Java Developer

Сегодня мы рассмотрим обзор реального интервью на позицию Senior Java Developer.

Таймкоды:
00:00 Приветствие
01:34 Введение
02:23 Разбор вопросов и ответов
03:10 Может ли разработчик управлять памятью в Java?
03:40 Как потоки связаны с памятью?
07:28 Spring Context и зачем он нужен?
08:10 Как работает аннотация @Transactional?
09:45 Как работает транзакция?
10:30 Как работает TDD?
14:17 Выводы
17:52 Прощание

Смотреть видео
👍11
Метод rotate()

Метод java.util.Collections.rotate() присутствует в классе java.util.Collections. Используется для поворота элементов, присутствующих в указанном списке Коллекции, на заданное расстояние.
👍30
#Вопросы_с_собеседования

Что вы знаете о OutOfMemoryError?

OutOfMemoryError выбрасывается, когда виртуальная машина Java не может создать (разместить) объект из-за нехватки памяти, а сборщик мусора не может высвободить достаточное её количество.

Область памяти, занимаемая java процессом, состоит из нескольких частей. Тип OutOfMemoryError зависит от того, в какой из них не хватило места:
java.lang.OutOfMemoryError: Java heap space: Не хватает места в куче, а именно, в области памяти в которую помещаются объекты, создаваемые в приложении программно. Обычно проблема кроется в утечке памяти. Размер задается параметрами -Xms и -Xmx.
java.lang.OutOfMemoryError: PermGen space: (до версии Java 8) Данная ошибка возникает при нехватке места в Permanent области, размер которой задается параметрами -XX:PermSize и -XX:MaxPermSize.
java.lang.OutOfMemoryError: GC overhead limit exceeded: Данная ошибка может возникнуть как при переполнении первой, так и второй областей. Связана она с тем, что памяти осталось мало и сборщик мусора постоянно работает, пытаясь высвободить немного места. Данную ошибку можно отключить с помощью параметра -XX:-UseGCOverheadLimit.
java.lang.OutOfMemoryError: unable to create new native thread: Выбрасывается, когда нет возможности создавать новые потоки.
👍23
Как преобразовать цветное изображение в черно-белое

Иногда может потребоваться преобразовать изображение в двоичное. Другими словами, вам нужно преобразовать цветное изображение или изображение в оттенках серого в черно-белое изображение.

Более подробно о работе с изображениями вы можете ознакомиться здесь.
👍214
Метод compareTo()

В Java метод compareTo() получает значение 0, если аргумент является строкой лексически равной данной строке; значение меньше 0, если аргумент является строкой лексически большей, чем сравниваемая строка; и значение больше 0, если аргумент является строкой лексически меньшей этой строки.
👍33👎1
Что выведет код сверху?
Anonymous Quiz
16%
Jeva Learning
5%
Java Learning
52%
Jeve Leerning
28%
Error
👍55👎2
Форматирование строк

Класс String предоставляет возможность создания форматированных строк. За это отвечает статический метод format.
👍31
#Вопросы_с_собеседования

Как избежать ConcurrentModificationException во время перебора коллекции?

• Попробовать подобрать или реализовать самостоятельно другой итератор, работающий по принципу fail-safe.
• Использовать ConcurrentHashMap и CopyOnWriteArrayList.
• Преобразовать список в массив и перебирать массив.
• Блокировать изменения списка на время перебора с помощью блока synchronized.

Отрицательная сторона последних двух вариантов - ухудшение производительности.
👍15👎1
👍11
Что выведет код сверху?
Anonymous Quiz
51%
==equals
18%
equals
6%
Ничего не выведет
25%
Error
👍31😱12
Клонирование массивов

Когда вы клонируете одномерный массив, такой как Object[], выполняется «глубокая копия» с новым массивом, содержащим копии элементов исходного массива, а не ссылки.

Подробнее с методом clone() можно ознакомиться здесь.
👍21