👍22
#Вопросы_с_собеседования
🎙️ Что будет, если очередь пула потоков уже заполнена, но подаётся новая задача?
Если очередь пула потоков заполнилась, то поданная задача будет «отклонена». Например - метод submit() у ThreadPoolExecutor выкидывает RejectedExecutionException, после которого вызывается RejectedExecutionHandler.
Если очередь пула потоков заполнилась, то поданная задача будет «отклонена». Например - метод submit() у ThreadPoolExecutor выкидывает RejectedExecutionException, после которого вызывается RejectedExecutionHandler.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🤔1
Data reading
Что плохого в этих невинных строках? Да в общем-то ничего, кроме того факта, что мы не знаем размер файла который считываем. Вместо файла может быть что угодно — открытый сокет, который принимает данные, данные из post запроса, все… В общем случае старайтесь не считывать всё в массив байтов, у вас попросту может не хватить памяти. Поэтому будьте осторожны с размером любых данных. Старайтесь обрабатывать и пересылать данные по частям. И всегда следите за размером пользовательских данных и по возможности ограничивайте их.
Что плохого в этих невинных строках? Да в общем-то ничего, кроме того факта, что мы не знаем размер файла который считываем. Вместо файла может быть что угодно — открытый сокет, который принимает данные, данные из post запроса, все… В общем случае старайтесь не считывать всё в массив байтов, у вас попросту может не хватить памяти. Поэтому будьте осторожны с размером любых данных. Старайтесь обрабатывать и пересылать данные по частям. И всегда следите за размером пользовательских данных и по возможности ограничивайте их.
👍20❤1
Обработка исключений в Java с использованием сопоставления с образцом (pattern matching)
В данной статье рассмотрим способы обработки исключений Java при помощи pattern-matching, как это делается в других FP языках.
Смотреть статью
В данной статье рассмотрим способы обработки исключений Java при помощи pattern-matching, как это делается в других FP языках.
Смотреть статью
Хабр
Обработка исключений в Java с использованием сопоставления с образцом (pattern matching)
Обработка исключений в Java с использованием сопоставления с образцом (pattern matching). Данная статья является логическим продолжением статей Обработка исключений в Java в функциональном стиле и...
👍10🔥1
#Вопросы_с_собеседования
🎙️ Как работает метод Thread.join()?
Когда поток вызывает join() для другого потока, текущий работающий поток будет ждать, пока другой поток, к которому он присоединяется, не будет завершён.
Когда поток вызывает join() для другого потока, текущий работающий поток будет ждать, пока другой поток, к которому он присоединяется, не будет завершён.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Полезные и неизвестные библиотеки Java
Из этой статьи вы узнаете о некоторых не очень известных, но полезных библиотеках Java.
Смотреть статью
Из этой статьи вы узнаете о некоторых не очень известных, но полезных библиотеках Java.
Смотреть статью
Хабр
Полезные и неизвестные библиотеки Java
Из этой статьи вы узнаете о некоторых не очень известных, но полезных библиотеках Java. Это вторая статья из серии «Полезное и неизвестное». Предыдущая описывала несколько...
👍9
#Вопросы_с_собеседования
❓Как одним вызовом из List получить List со всеми элементами, кроме первых и последних 3-х?
Ответ на картинке.
❓Как одним вызовом из List получить List со всеми элементами, кроме первых и последних 3-х?
Ответ на картинке.
👍27🔥2❤1
Как проверить, отсортирован ли массив в Java
Один из способов - это использование библиотеки Apache Commons Lang, которая предлагает статический служебный метод. isSorted() в ArrayUtils учебный класс.
Другие варианты проверки отсортирован ли массив можно найти здесь.
Один из способов - это использование библиотеки Apache Commons Lang, которая предлагает статический служебный метод. isSorted() в ArrayUtils учебный класс.
Другие варианты проверки отсортирован ли массив можно найти здесь.
👍14😢2
#Вопросы_с_собеседования
🎙️ Какие основные ограничения действуют на статические и “переменные” методы?
Как я и сказал ранее, основное ограничение обычного метода в том, что всегда должен быть некоторый экземпляр, у которого данный метод будет вызываться. А вот статический метод этого не требует, но он и не может ссылаться на ссылку this — на элементы текущего объекта — поскольку текущего объекта для него не существует.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26😱5❤1
👍20😱5❤1🔥1😢1
Метод Math.pow()
Возводит значение первого аргумента в степень второго аргумента, тем самым позволяет осуществить быстрое возведение в степень любых значений.
Выше рассмотрен пример возведение числа в квадрат и куб.
Заметьте, для вывода на экран целого значения используется "%.0f", так как метод возвращает double значение.
Возводит значение первого аргумента в степень второго аргумента, тем самым позволяет осуществить быстрое возведение в степень любых значений.
Выше рассмотрен пример возведение числа в квадрат и куб.
Заметьте, для вывода на экран целого значения используется "%.0f", так как метод возвращает double значение.
👍22
Java для сисадминов
Эта статья написана в основном для системных администраторов Java-приложений (DevOps-инженеров, SRE и других производных специализаций). Вероятнее всего, Java-разработчики уже все это прекрасно знают. Хотя Junior Java-разработчикам эта информация может помочь систематизировать знания.
Смотреть статью
Эта статья написана в основном для системных администраторов Java-приложений (DevOps-инженеров, SRE и других производных специализаций). Вероятнее всего, Java-разработчики уже все это прекрасно знают. Хотя Junior Java-разработчикам эта информация может помочь систематизировать знания.
Смотреть статью
👍11
#Вопросы_с_собеседования
Какой оператор позволяет принудительно выбросить исключение?
Это оператор throw.
Какой оператор позволяет принудительно выбросить исключение?
Это оператор throw.
👍27🔥4
#Вопросы_с_собеседования
❓Напишите потокобезопасную реализацию класса с неблокирующим методом BigInteger next(), который возвращает элементы последовательности: [1, 2, 4, 8, 16, ...]
Ответ на картинке.
❓Напишите потокобезопасную реализацию класса с неблокирующим методом BigInteger next(), который возвращает элементы последовательности: [1, 2, 4, 8, 16, ...]
Ответ на картинке.
👍14🤔4
#Вопросы_с_собеседования
🎙️ В чём заключаются различия между java.util.concurrent.Atomic*.compareAndSwap() и java.util.concurrent.Atomic*.weakCompareAndSwap()?
☕️ weakCompareAndSwap() не создает memory barrier и не дает гарантии happens-before;
☕️ weakCompareAndSwap() сильно зависит от кэша/CPU, и может возвращать false без видимых причин;
☕️ weakCompareAndSwap(), более легкая, но поддерживаемая далеко не всеми архитектурами и не всегда эффективная операция.
☕️ weakCompareAndSwap() не создает memory barrier и не дает гарантии happens-before;
☕️ weakCompareAndSwap() сильно зависит от кэша/CPU, и может возвращать false без видимых причин;
☕️ weakCompareAndSwap(), более легкая, но поддерживаемая далеко не всеми архитектурами и не всегда эффективная операция.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7😢1