RefactorFirst
RefactorFirst — это инструмент для Java-кода, помогающий определить и расставить по приоритетам классы, которые следует рефакторить в первую очередь. Он работает, сканируя код на наличие «божественных классов» (God Classes) и классов с высокой степенью связности.
«Божественных классов» — это классы, которые делают слишком много и, следовательно, являются плохо спроектированными. Они могут быть трудными для понимания, тестирования и сопровождения.
👩💻
@javaquiz
RefactorFirst — это инструмент для Java-кода, помогающий определить и расставить по приоритетам классы, которые следует рефакторить в первую очередь. Он работает, сканируя код на наличие «божественных классов» (God Classes) и классов с высокой степенью связности.
«Божественных классов» — это классы, которые делают слишком много и, следовательно, являются плохо спроектированными. Они могут быть трудными для понимания, тестирования и сопровождения.
👩💻
@javaquiz
👍3
Fastjson
Fastjson — это высокопроизводительная библиотека Java, предназначенная для преобразования объектов Java в JSON и наоборот. Она легкая, быстрая и простая в использовании.
👩💻
@javaquiz
Fastjson — это высокопроизводительная библиотека Java, предназначенная для преобразования объектов Java в JSON и наоборот. Она легкая, быстрая и простая в использовании.
👩💻
@javaquiz
⚙️ List.subList()
В Java метод subList() позволяет создать представление части списка. Это удобно для работы с подмножествами коллекций без необходимости копирования элементов.
👩💻
@javaquiz
В Java метод subList() позволяет создать представление части списка. Это удобно для работы с подмножествами коллекций без необходимости копирования элементов.
👩💻
@javaquiz
🔥 Нововведения Kotlin 1.9-2.2 для JVM
Приглашаем на открытый урок.
🗓 19 августа в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Kotlin Backend Developer. Professional».
На вебинаре мы рассмотрим:
- изменения в enum
- data objects и data class
- JvmDefault
- компилятор K2
- guard conditions
- break and continue в лямбдах
- multi-dollar string interpolation
- context parameters
- context-sensitive resolution
- @ all
🔗 Ссылка на регистрацию: https://clck.ru/3NbpCL
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Приглашаем на открытый урок.
🗓 19 августа в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Kotlin Backend Developer. Professional».
На вебинаре мы рассмотрим:
- изменения в enum
- data objects и data class
- JvmDefault
- компилятор K2
- guard conditions
- break and continue в лямбдах
- multi-dollar string interpolation
- context parameters
- context-sensitive resolution
- @ all
🔗 Ссылка на регистрацию: https://clck.ru/3NbpCL
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
❓ Вопрос на собеседовании
Что такое ForkJoinPool в Java, как он работает, и как его использовать для параллельной обработки задач?
Ответ ⬇️
ForkJoinPool — это специализированный пул потоков, который рекурсивно делит задачи на подзадачи (fork) и объединяет их результаты (join). Он оптимизирован для задач, которые можно разделить на независимые части, например, вычисление суммы элементов массива. Основными классами являются RecursiveTask для задач с результатом и RecursiveAction для задач без результата.
Пример использования ⚙️
import java.util.concurrent.RecursiveTask;
import java.util.concurrent.ForkJoinPool;
class SumTask extends RecursiveTask {
private final int[] array;
private final int start, end;
public SumTask(int[] array, int start, int end) {
this.array = array;
this.start = start;
this.end = end;
}
@Override
protected Integer compute() {
if (end - start
@javaquiz
Что такое ForkJoinPool в Java, как он работает, и как его использовать для параллельной обработки задач?
Ответ ⬇️
ForkJoinPool — это специализированный пул потоков, который рекурсивно делит задачи на подзадачи (fork) и объединяет их результаты (join). Он оптимизирован для задач, которые можно разделить на независимые части, например, вычисление суммы элементов массива. Основными классами являются RecursiveTask для задач с результатом и RecursiveAction для задач без результата.
Пример использования ⚙️
import java.util.concurrent.RecursiveTask;
import java.util.concurrent.ForkJoinPool;
class SumTask extends RecursiveTask {
private final int[] array;
private final int start, end;
public SumTask(int[] array, int start, int end) {
this.array = array;
this.start = start;
this.end = end;
}
@Override
protected Integer compute() {
if (end - start
@javaquiz
👎3