Сегодня java, guice и другие - помогут нам записать звук в представление чуть более непонятное чем эквалайзер (по крайней мере для меня). Вы при желании можете записать что-то другое.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Рисуем звук. Почувствуй себя нейросетью. Java, Guice
#Java #Guice
Сегодня java, guice и другие - помогут нам записать звук в представление чуть более непонятное чем эквалайзер (по крайней мере для меня). Вы при желании можете записать что-то другое.
Опросник по аннотациям Spring JPA: https://proftrud.ru/shop/21…
Сегодня java, guice и другие - помогут нам записать звук в представление чуть более непонятное чем эквалайзер (по крайней мере для меня). Вы при желании можете записать что-то другое.
Опросник по аннотациям Spring JPA: https://proftrud.ru/shop/21…
#вопросы_с_собеседований
Как написать собственное («пользовательское») исключение?
Необходимо унаследоваться от базового класса требуемого типа исключений (например, от Exception или RuntimeException).
Как написать собственное («пользовательское») исключение?
Необходимо унаследоваться от базового класса требуемого типа исключений (например, от Exception или RuntimeException).
В данном видео рассказывается о том, что такое Deadlock, и как намеренно создать взаимную блокировку потоков на языке программирования Java.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Java. Многопоточность. Как устроить Deadlock.
В данном видео рассказывается о том, что такое Deadlock, и как намеренно создать взаимную блокировку потоков на языке программирования Java.
Исходники:
https://github.com/Arhiser/java_tutorials/tree/master/src/ru/arhiser/multithreading/deadlock
Предыдущее…
Исходники:
https://github.com/Arhiser/java_tutorials/tree/master/src/ru/arhiser/multithreading/deadlock
Предыдущее…
Для ArrayList или для LinkedList операция добавления элемента в середину (list.add(list.size()/2, newElement)) медленнее?
Для ArrayList:
• проверка массива на вместимость. Если вместимости недостаточно, то увеличение размера массива и копирование всех элементов в новый массив
• копирование всех элементов, расположенных правее от позиции вставки, на одну позицию вправо
• вставка элемента
Для LinkedList:
• поиск позиции вставки
• вставка элемента
В худшем случае вставка в середину списка эффективнее для
Для ArrayList:
• проверка массива на вместимость. Если вместимости недостаточно, то увеличение размера массива и копирование всех элементов в новый массив
(O(N))
;• копирование всех элементов, расположенных правее от позиции вставки, на одну позицию вправо
(O(N))
;• вставка элемента
(O(1))
.Для LinkedList:
• поиск позиции вставки
(O(N))
;• вставка элемента
(O(1))
.В худшем случае вставка в середину списка эффективнее для
LinkedList
. В остальных - скорее всего, для ArrayList
, поскольку копирование элементов осуществляется за счет вызова быстрого системного метода System.arraycopy()
.#вопросы_с_собеседований
Что такое Optional?
Опциональное значение Optional — это контейнер для объекта, который может содержать или не содержать значение null. Такая обёртка является удобным средством предотвращения NullPointerException, т.к. имеет некоторые функции высшего порядка, избавляющие от добавления повторяющихся if null/notNull проверок:
Что такое Optional?
Опциональное значение Optional — это контейнер для объекта, который может содержать или не содержать значение null. Такая обёртка является удобным средством предотвращения NullPointerException, т.к. имеет некоторые функции высшего порядка, избавляющие от добавления повторяющихся if null/notNull проверок:
Optional<String> optional = Optional.of("hello");
optional.isPresent(); // true
optional.ifPresent(s -> System.out.println(s.length())); // 5
optional.get(); // "hello"
optional.orElse("ops..."); // "hello"
#вопросы_с_собеседований
Что значит «приоритет потока»?
Приоритеты потоков используются планировщиком потоков для принятия решений о том, когда какому из потоков будет разрешено работать. Теоретически высокоприоритетные потоки получают больше времени процессора, чем низкоприоритетные. Практически объем времени процессора, который получает поток, часто зависит от нескольких факторов помимо его приоритета.
Чтобы установить приоритет потока, используется метод класса Thread: final void setPriority(int level). Значение level изменяется в пределах от Thread.MIN_PRIORITY = 1 до Thread.MAX_PRIORITY = 10. Приоритет по умолчанию - Thread.NORM_PRlORITY = 5.
Получить текущее значение приоритета потока можно вызвав метод: final int getPriority() у экземпляра класса Thread.
Что значит «приоритет потока»?
Приоритеты потоков используются планировщиком потоков для принятия решений о том, когда какому из потоков будет разрешено работать. Теоретически высокоприоритетные потоки получают больше времени процессора, чем низкоприоритетные. Практически объем времени процессора, который получает поток, часто зависит от нескольких факторов помимо его приоритета.
Чтобы установить приоритет потока, используется метод класса Thread: final void setPriority(int level). Значение level изменяется в пределах от Thread.MIN_PRIORITY = 1 до Thread.MAX_PRIORITY = 10. Приоритет по умолчанию - Thread.NORM_PRlORITY = 5.
Получить текущее значение приоритета потока можно вызвав метод: final int getPriority() у экземпляра класса Thread.
В реализации класса ArrayList есть следующие поля: Object[] elementData, int size. Объясните, зачем хранить отдельно size, если всегда можно взять elementData.length?
Размер массива
Размер массива
elementData
представляет собой вместимость (capacity
) ArrayList
, которая всегда больше переменной size - реального количества хранимых элементов. При необходимости вместимость автоматически возрастает.Размещаем Spring Boot приложение в Docker
Предложенная сегодня статья поможет новичкам пошагово разместить в контейнере Docker Spring Boot приложение, а также научит создавать мультиконтейнерное Spring Boot приложение используя Docker Compose. 😃
Хорошей практики!
Читать статью
Предложенная сегодня статья поможет новичкам пошагово разместить в контейнере Docker Spring Boot приложение, а также научит создавать мультиконтейнерное Spring Boot приложение используя Docker Compose. 😃
Хорошей практики!
Читать статью
Docker
Kickstart Your Spring Boot Application Development | Docker
Learn from Docker experts to simplify and advance your app development and management with Docker. Stay up to date on Docker events and new version
LinkedList — это односвязный, двусвязный или четырехсвязный список?
Двусвязный: каждый элемент
Двусвязный: каждый элемент
LinkedList
хранит ссылку на предыдущий и следующий элементы.#вопросы_с_собеседований
Для чего используются ключевые слова volatile, synchronized, transient, native?
Ключевые слова
Для чего используются ключевые слова volatile, synchronized, transient, native?
volatile
вынуждает потоки отключить оптимизацию доступа и использовать единственный экземпляр переменной. Если переменная примитивного типа – этого будет достаточно для обеспечения потокобезопасности. Если же переменная является ссылкой на объект – синхронизировано будет исключительно значение этой ссылки. Все данные, содержащиеся в объекте, синхронизированы не будут!synchronized
— это зарезервированное слово позволяет добиваться синхронизации в помеченных им методах или блоках кода.Ключевые слова
transient
и native
к многопоточности никакого отношения не имеют, первое используется для указания полей класса, которые не нужно сериализовать, а второе сигнализирует о том, что метод реализован в платформо-зависимом коде.#вопросы_с_собеседований
Опишите работу блока try-catch-finally.
try — данное ключевое слово используется для отметки начала блока кода, который потенциально может привести к ошибке. catch — ключевое слово для отметки начала блока кода, предназначенного для перехвата и обработки исключений в случае их возникновения. finally — ключевое слово для отметки начала блока кода, который является дополнительным. Этот блок помещается после последнего блока catch. Управление передаётся в блок finally в любом случае, было выброшено исключение или нет.
Общий вид конструкции для обработки исключительной ситуации выглядит так, как показано на картинке.
Опишите работу блока try-catch-finally.
try — данное ключевое слово используется для отметки начала блока кода, который потенциально может привести к ошибке. catch — ключевое слово для отметки начала блока кода, предназначенного для перехвата и обработки исключений в случае их возникновения. finally — ключевое слово для отметки начала блока кода, который является дополнительным. Этот блок помещается после последнего блока catch. Управление передаётся в блок finally в любом случае, было выброшено исключение или нет.
Общий вид конструкции для обработки исключительной ситуации выглядит так, как показано на картинке.
Как перебрать элементы LinkedList в обратном порядке, не используя медленный get(index)?
Для этого в
Для этого в
LinkedList
есть обратный итератор, который можно получить вызва метод descendingIterator()
.В данном видео автор покажет, как создать HTTP-сервер на чистой Java и на сокетах. Итоговое приложение будет раздавать файлы из указанной при запуске директории. В создании http-сервера на Java автор будет использовать только средства из стандартной библиотеки (Java SE), к примеру, сокеты (socket).
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Создание HTTP-сервера на Java
В данном видео я покажу, как создать HTTP-сервер на чистой Java и на сокетах. Итоговое приложение будет раздавать файлы из указанной при запуске директории. В создании http-сервера на Java я буду использовать только средства из стандартной библиотеки (Java…
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Java. Шифруем данные для открытой передачи.
Шифруем текст с использованием ключа данные для открытой передачи в GET для разных ситуаций. Не использовал secure библиотеки - по каким-то известным только мне тогдашнему причинам.
Если не охота заморачиватья с шифрованием - из комментария подписчика @Александр…
Если не охота заморачиватья с шифрованием - из комментария подписчика @Александр…
🐬 ТОП-10 самых часто используемых запросов MySQL
Из этой статьи вы узнаете о 10 наиболее часто используемых запросах в MySQL, которыми пользуются новички и эксперты в области управления базами данных.
🔗 Основной сайт
🔗 Зеркало
Из этой статьи вы узнаете о 10 наиболее часто используемых запросах в MySQL, которыми пользуются новички и эксперты в области управления базами данных.
🔗 Основной сайт
🔗 Зеркало
#вопросы_с_собеседований
Как исключить поля из сериализации?
Для управления сериализацией при определении полей можно использовать ключевое слово transient, таким образом исключив поля из общего процесса сериализации.
Как исключить поля из сериализации?
Для управления сериализацией при определении полей можно использовать ключевое слово transient, таким образом исключив поля из общего процесса сериализации.
🗺️ Кем стать в IT: 9 ролей специалистов в IT-проекте
Если вы решили войти в АйТи, но еще не определились с направлением, наша пояснительная бригада спешит на помощь – разбираем роли каждого участника в жизненном цикле ИТ-проекта.
🔗 Основной сайт
🔗 Зеркало
Если вы решили войти в АйТи, но еще не определились с направлением, наша пояснительная бригада спешит на помощь – разбираем роли каждого участника в жизненном цикле ИТ-проекта.
🔗 Основной сайт
🔗 Зеркало
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
ZGC: The Future of Low-Latency Garbage Collection Is Here
The Z Garbage Collector (ZGC) is a scalable low-latency garbage collector providing sub-millisecond max pause times. Get an overview of the design principles behind ZGC, how it performs, and how to best use it to reduce latency for your application. We also…