❤7👍2
Media is too big
VIEW IN TELEGRAM
Java. Проблема с null. Null safety
В этом видео я рассказываю о проблеме с null в языке программирования Java, из-за которой возникает печально известное NullPointerExeption. Даю некоторые рекомендации по организации кода для борьбы с этой проблемой и повышения надежности работы программ.
источник
👉@BookJava
В этом видео я рассказываю о проблеме с null в языке программирования Java, из-за которой возникает печально известное NullPointerExeption. Даю некоторые рекомендации по организации кода для борьбы с этой проблемой и повышения надежности работы программ.
источник
👉@BookJava
👍5
new vs valueOf
Старайтесь всегда использовать метод
Все оболочки, кроме чисел с плавающей точкой, от Byte до Long, имеют кэш. По умолчанию этот кэш содержит значения от -128 до 127. Следовательно, если ваше значение попадает в этот диапазон, то значение вернется из кэша. Значение из кэша достается в 3.5 раза быстрее, чем при использовании конструктора, плюс идёт экономия памяти.
Помимо этого, наиболее часто используемые значения могут также быть закэшированы компилятором и виртуальной машиной.
👉@BookJava
Старайтесь всегда использовать метод
valueOf
вместо конструктора в стандартных классах-оболочках примитивных типов, кроме тех случаев, когда вам нужно конкретно выделить память под новое значение. Сейчас объясню, почему.Все оболочки, кроме чисел с плавающей точкой, от Byte до Long, имеют кэш. По умолчанию этот кэш содержит значения от -128 до 127. Следовательно, если ваше значение попадает в этот диапазон, то значение вернется из кэша. Значение из кэша достается в 3.5 раза быстрее, чем при использовании конструктора, плюс идёт экономия памяти.
Помимо этого, наиболее часто используемые значения могут также быть закэшированы компилятором и виртуальной машиной.
👉@BookJava
👍9❤1
Media is too big
VIEW IN TELEGRAM
Java. Задача о рюкзаке. Динамическое программирование.
В этом видео разбирается классическая задача о рюкзаке и алгоритмы её решения. Особое внимание уделяется решению задачи с помощью динамического программирования.
Код https://github.com/Arhiser/java_tutorials/tree/master/src/ru/arhiser/knapsack
источник
👉@BookJava
В этом видео разбирается классическая задача о рюкзаке и алгоритмы её решения. Особое внимание уделяется решению задачи с помощью динамического программирования.
Код https://github.com/Arhiser/java_tutorials/tree/master/src/ru/arhiser/knapsack
источник
👉@BookJava
👍7🤯1
Что произойдет, если ключевое слово static не использовать с методом main() в Java?
Ошибки компиляции не будет, но во время выполнения мы получим ошибку NoSuchMethodError.
👉@BookJava
👉@BookJava
💩5👍2🤡1
Media is too big
VIEW IN TELEGRAM
10 ключевых ошибок при изучении программирования
00:00:00 - введение
00:00:30 - цели видео
00:01:13 - план
00:01:22 - ошибки студентов
00:08:25 - ошибки преподавателей
00:13:00 - выводы
00:14:27 - обратная связь
источник
👉@BookJava
00:00:00 - введение
00:00:30 - цели видео
00:01:13 - план
00:01:22 - ошибки студентов
00:08:25 - ошибки преподавателей
00:13:00 - выводы
00:14:27 - обратная связь
источник
👉@BookJava
👍6
@ Transactional в Spring и исключения
В этой статье я бы хотел рассказать, как Spring'овая аннотация @ Transactional ведет себя при возникновении исключений.
Если коротко, то Spring обрабатывает исключения в методах, помеченных @ Transactional, следующим образом:
RuntimeException'ы приводят к откату транзакции, checked exception'ы не приводят;
RuntimeException'ы приводят к откату транзакции в момент, когда exception пересекает границы @ Transactional-метода. Даже если вы перехватите это исключение выше по стеку, транзакция все равно откатится;
Этим поведением можно управлять через атрибуты rollbackFor / noRollbackFor у аннотации @ Transcational.
https://habr.com/ru/articles/725064/
👉@BookJava
В этой статье я бы хотел рассказать, как Spring'овая аннотация @ Transactional ведет себя при возникновении исключений.
Если коротко, то Spring обрабатывает исключения в методах, помеченных @ Transactional, следующим образом:
RuntimeException'ы приводят к откату транзакции, checked exception'ы не приводят;
RuntimeException'ы приводят к откату транзакции в момент, когда exception пересекает границы @ Transactional-метода. Даже если вы перехватите это исключение выше по стеку, транзакция все равно откатится;
Этим поведением можно управлять через атрибуты rollbackFor / noRollbackFor у аннотации @ Transcational.
https://habr.com/ru/articles/725064/
👉@BookJava
Хабр
@Transactional в Spring и исключения
Привет! В этой статье я бы хотел рассказать, как Spring'овая аннотация @Transactional ведет себя при возникновении исключений. Про это немало написано, в том числе на Хабре. Например, тут или тут ....
👍5
Нюансы разработки парсера для своего языка программирования
https://habr.com/ru/companies/timeweb/articles/724146/
👉@BookJava
https://habr.com/ru/companies/timeweb/articles/724146/
👉@BookJava
Хабр
Нюансы разработки парсера для своего языка программирования
Недавно прочитал на Хабре статью Свой язык, или как я устал от ассемблера и С , и невольно взглядом зацепился за один абзац: Я решил не сильно париться, поэтому использовал библиотеку parglare. Она...
👀2
5_Maven_cheatsheet.pdf
147.3 KB
Шпаргалки по Java
1. Регулярные выражения в Java
2. Лучшие практики Java 8
3. Шпаргалка по JVM
4. Generic-типы Java
5. Шпаргалка по Maven
👉@BookJava
1. Регулярные выражения в Java
2. Лучшие практики Java 8
3. Шпаргалка по JVM
4. Generic-типы Java
5. Шпаргалка по Maven
👉@BookJava
👍8❤1🔥1
Media is too big
VIEW IN TELEGRAM
Вопросы с senior java интервью [1/3]
Тайм-коды:
0:00 - Вступление
0:25 - Эти вопросы реально спрашивают
0:52 - Как устроен ролик
1:53 - Примитивы и доступ по значению (доступ всегда по значению)
3:53 - Пример с Boolean, который был несколько раз
4:58 - Хэш мапа и equals
6:00 - Как сломать мапу мутабельным ключом
7:30 - Плохое распределение хэшей
11:36 - Фреймворк коллекций (Collection framework)
12:30 - Устройство листов, почему linkedlist не используют в проде
13:50 - Иерархия исключений
14:48 - Optional и хитрости работы с ними
16:50 - Thread-local и то как его использовать
17:50 - Наследуемый Thread-local
19:20 - Стримы и примитивные стримы
22:25 - Хитрости try-catch-finally
23:38 - Try-with resource, Autoclosable
25:15 - Conditionalы, как создать свой стартер, логика конфигураций
28:05 - Жизненный цикл бинов, логика создания объектов
30:14 - Докер и зачем он нужен
источник
👉@BookJava
Тайм-коды:
0:00 - Вступление
0:25 - Эти вопросы реально спрашивают
0:52 - Как устроен ролик
1:53 - Примитивы и доступ по значению (доступ всегда по значению)
3:53 - Пример с Boolean, который был несколько раз
4:58 - Хэш мапа и equals
6:00 - Как сломать мапу мутабельным ключом
7:30 - Плохое распределение хэшей
11:36 - Фреймворк коллекций (Collection framework)
12:30 - Устройство листов, почему linkedlist не используют в проде
13:50 - Иерархия исключений
14:48 - Optional и хитрости работы с ними
16:50 - Thread-local и то как его использовать
17:50 - Наследуемый Thread-local
19:20 - Стримы и примитивные стримы
22:25 - Хитрости try-catch-finally
23:38 - Try-with resource, Autoclosable
25:15 - Conditionalы, как создать свой стартер, логика конфигураций
28:05 - Жизненный цикл бинов, логика создания объектов
30:14 - Докер и зачем он нужен
источник
👉@BookJava
👍9❤1👎1😁1
Media is too big
VIEW IN TELEGRAM
Вопросы с senior java интервью [2/3]
Тайм-коды:
0:00 - Вступление
0:15 - Как устроено это видео
0:34 - Обратная связь
0:56 - Эти вопросы реально спрашивают
1:15 - Новый формат видео, интерактив
1:50 - Про бины, конфигурации, контексты, скоупы
2:50 - Популярный вопрос про скоупы бинов и что они дают
5:33 - Прокси, AOP
8:08 - Как работает аннотация transactional под капотом
9:46 - Как использовать транзакции в приватных методах
11:13 - Self-inject на примере
12:05 - Проблемы долгих транзакций
13:26 - Ивенты и обработчики в спринге
14:02 - Простейший листенер встроенных ивентов
16:03 - Сборщики maven и другие, общие слова и bom как способ управления версиями
18:05 - Многопоточка
18:30 - Классическая проблема суммы
19:20 - Проблемы тестирования многопоточки
20:10 - Добавляем volatile, почему не поможет
21:40 - Atomic*, cas алгоритмы
22:38 - Зачем реально volatile, happens before
23:54 - Способы запуска потоков, в чем разница
24:50 - Порядок не гарантирован
источник
👉@BookJava
Тайм-коды:
0:00 - Вступление
0:15 - Как устроено это видео
0:34 - Обратная связь
0:56 - Эти вопросы реально спрашивают
1:15 - Новый формат видео, интерактив
1:50 - Про бины, конфигурации, контексты, скоупы
2:50 - Популярный вопрос про скоупы бинов и что они дают
5:33 - Прокси, AOP
8:08 - Как работает аннотация transactional под капотом
9:46 - Как использовать транзакции в приватных методах
11:13 - Self-inject на примере
12:05 - Проблемы долгих транзакций
13:26 - Ивенты и обработчики в спринге
14:02 - Простейший листенер встроенных ивентов
16:03 - Сборщики maven и другие, общие слова и bom как способ управления версиями
18:05 - Многопоточка
18:30 - Классическая проблема суммы
19:20 - Проблемы тестирования многопоточки
20:10 - Добавляем volatile, почему не поможет
21:40 - Atomic*, cas алгоритмы
22:38 - Зачем реально volatile, happens before
23:54 - Способы запуска потоков, в чем разница
24:50 - Порядок не гарантирован
источник
👉@BookJava
👍1
Java. Алгоритм генерации фрактального шума.
В этом видео рассказывается о том, что такое фрактальный шум, и для чего он применяется. В частности, речь идет о процедурной генерации изображений.
Разбираем простой алгоритм генерации фрактального шума и пишем его реализацию на языке программирования Java. Так же в процессе написания кода затрагивается алгоритм билинейной интерполяции, который необходим для реализации базового шума.
https://www.youtube.com/watch?v=a-j8vgLfUqA
👉@BookJava
В этом видео рассказывается о том, что такое фрактальный шум, и для чего он применяется. В частности, речь идет о процедурной генерации изображений.
Разбираем простой алгоритм генерации фрактального шума и пишем его реализацию на языке программирования Java. Так же в процессе написания кода затрагивается алгоритм билинейной интерполяции, который необходим для реализации базового шума.
https://www.youtube.com/watch?v=a-j8vgLfUqA
👉@BookJava
YouTube
Java. Алгоритм генерации фрактального шума.
В этом видео рассказывается о том, что такое фрактальный шум, и для чего он применяется. В частности, речь идет о процедурной генерации изображений.
Разбираем простой алгоритм генерации фрактального шума и пишем его реализацию на языке программирования Java.…
Разбираем простой алгоритм генерации фрактального шума и пишем его реализацию на языке программирования Java.…
👍1