TGViewer
Channel Public Channel
Java Learning

Java Learning

@java_per_month

№ 5079899194

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

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

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

Реклама на бирже - https://telega.in/c/Java_per_month
Subscribers
16.5K
Photos
1.6K
Videos
1
Links
1K

Showing posts older than #2389 · Back to latest

Older Posts 20 shown
Post #2388 3.46K
#Вопросы_с_собеседования
Если вы хотите переопределить equals(), какие условия должны удовлетворяться для переопределенного метода?

- Метод должен удовлетворять условиям транзитивности, рефлексивности и симметричности.

- Метод должен быть согласованным - многократные вызовы с неизменными объектами должны возвращать один и тот же результат.

- Если x.equals(y) вернёт true, то x.hashCode() должен быть равен y.hashCode().

- Метод не должен выбрасывать исключения при сравнении допустимых значений.
  • 👍 27
Post #2384 3.64K
Post #2383 3.1K
Разбираемся с MavenGate, новой атакой на цепочку поставок для Java и Android-приложений

Смотреть статью
  • 👍 2
Post #2380 2.51K
newCachedThreadPool

newCachedThreadPool — это метод класса Executors, который создает пул потоков, обладающий следующими характеристиками:

— Создание новых потоков по мере необходимости: пул создает новые потоки для выполнения задач, когда они поступают.
— Повторное использование существующих потоков: если в пуле есть неактивные потоки, они будут повторно использованы для выполнения новых задач.
— Бесконечное количество потоков: пул не имеет ограничений на количество потоков, которые он может создать.
— Удаление неактивных потоков: пул автоматически удаляет неактивные потоки через 60 секунд.

#для_начинающих
  • 👍 9
Post #2379 2.85K
BrokenBarrierException

BrokenBarrierException — это исключение, которое возникает в Java, когда поток пытается ждать на барьере, который находится в сломанном состоянии или когда пытается войти в барьер, который переходит в сломанное состояние во время ожидания.

Как исправить:

— Обработайте исключение BrokenBarrierException в коде.
— Убедитесь, что все потоки, которые будут ждать на барьере, завершатся до того, как вы его сломаете.
— Используйте CyclicBarrier вместо Barrier, если вам нужно сбросить барьер и запустить его снова.

#для_продвинутых
  • 👍 10
Post #2377 2.71K
FairSemaphore

FairSemaphore — это класс, реализующий семафор, который обеспечивает справедливое распределение разрешений между потоками. Это означает, что потоки, ожидающие разрешения, будут получать его в порядке очереди, а не в случайном порядке.

В примере на картинке два потока будут пытаться получить доступ к ресурсу, который защищен с помощью FairSemaphore. Потоки будут получать доступ к ресурсу по очереди, а не в случайном порядке.

#для_продвинутых
  • 👍 9
Post #2376 2.71K
AnnotatedElement

AnnotatedElement — это интерфейс в Java, который представляет собой элемент программы, снабженный аннотациями. Он позволяет рефлексивно считывать аннотации.

#для_продвинутых
  • 👍 9
  • 🔥 1
Post #2374 2.71K
AccessibleObject

AccessibleObject — это базовый класс для объектов Field, Method и Constructor. Он позволяет помечать рефлектируемый объект как подавляющий проверки контроля доступа языка Java по умолчанию при его использовании.

Контроль доступа в Java языке запрещает:
—Использование приватных членов за пределами их класса верхнего уровня;
— Членов пакета за пределами их пакета;
— Защищенных членов за пределами их пакета или подклассов;
— Публичных членов за пределами их модуля, если они не объявлены в экспортируемом пакете, и пользователь не читает их модуль.

Важно: использование AccessibleObject может привести к проблемам безопасности, поэтому его следует использовать с осторожностью.

#для_продвинутых
  • 👍 8
  • ❤ 1
Post #2373 2.67K
PathIterator

PathIterator — это интерфейс в Java, который позволяет объектам, реализующим интерфейс Shape, возвращать геометрию своей границы, позволяя вызывающему объекту получать путь этой границы по одному сегменту за раз.

Основные возможности PathIterator:

— PathIterator позволяет перебирать сегменты пути объекта Shape по одному.
— Для каждого сегмента PathIterator может предоставить информацию о его типе (например, линия, кривая Безье), координатах и других атрибутах.
— PathIterator может использоваться для преобразования пути объекта Shape, например, для его масштабирования, поворота или перемещения.

#для_продвинутых
  • 👍 8
  • ❤ 1
Post #2372 2.81K
Formatter

Formatter — это класс, который используется для форматирования вывода данных. Formatter поддерживает форматирование следующих типов данных:
— Примитивные типы: int, long, float, double, char, boolean
— Объекты: String, Date, Calendar, BigDecimal.

#для_продвинутых
  • 👍 4
Post #2370 2.67K
FileHandler

FileHandler — это класс в Java, который используется для записи журналов в файл. Он может записывать журналы в один файл или в набор вращающихся файлов.

#для_продвинутых
  • 👍 9
Post #2369 2.79K
SocketHandler

SocketHandler — это класс в Java, который используется для отправки сообщений журнала на сервер журнала. Он наследуется от класса Handler и реализует интерфейс StreamHandler.

#для_продвинутых
  • 👍 8
Post #2368 2.89K
LambdaMetafactory

LambdaMetafactory — это класс в Java, который используется для создания объектов функциональных интерфейсов.

Как работает LambdaMetafactory:

1. LambdaMetafactory используется для создания CallSite, который представляет собой фабричный метод, возвращающий обработчик целевого метода.
2. Обработчик метода — это реализация функционального интерфейса, которая использует invokeExact для вызова целевого метода.
3. Если в лямбда-выражении есть захваченные переменные, то invokeExact принимает эти переменные как фактические параметры.
4. В Oracle JRE 8 metafactory динамически генерирует Java-класс, используя ObjectWeb Asm, который и создает класс-реализацию функционального интерфейса.

#для_продвинутых
  • 👍 8
Post #2366 2.74K
Semaphore

Semaphore — это класс, который позволяет ограничивать количество потоков, одновременно работающих с каким-либо ресурсом.

Поток должен получить разрешение, чтобы войти в критическую секцию.
Semaphore управляет набором разрешений (permits), а конструктор принимает количество разрешений.
Если разрешений нет, поток ставится в очередь до освобождения.

Метод acquire() получает разрешение, release() — освобождает.
  • 👍 16
Post #2363 2.78K
  • 👍 9
  • ❤ 1
Post #2361 2.76K
CharBuffer

CharBuffer в Java представляет собой класс, который используется для хранения и манипулирования последовательностями символов. Он является частью пакета java.nio и реализует интерфейс CharSequence.

#для_начинающих
  • 👍 10
Post #2360 2.66K
IntBuffer

IntBuffer — это класс, который представляет собой буфер для хранения целых чисел (int). Он используется для эффективного хранения и обработки больших массивов целых чисел.

#для_начинающих
  • 👍 11
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →