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 #2779 · Back to latest

Older Posts 20 shown
Post #2778 2.46K
➡️ Оптимизация работы с коллекциями с помощью метода removeIf

В Java 8 был введен метод removeIf, который позволяет удалить элементы из коллекции, удовлетворяющие определенному условию, без необходимости явного использования цикла.

Java Learning 👩‍💻
  • 👍 14
  • ❤‍🔥 1
Post #2777 2.82K
  • 👍 8
  • 🤔 6
  • ❤ 3
  • 🔥 1
  • 😱 1
Post #2776 2.76K
⌛ Что будет выведено при выполнении кода?

Java Learning 👩‍💻
  • 👍 5
Post #2774 2.34K
➡️ Использование MethodHandles для эффективного вызова методов в Java

MethodHandles предоставляют низкоуровневый доступ к методам, позволяя динамически вызывать их с минимальными накладными расходами.

🗣️ Этот подход может быть полезен для высокопроизводительных приложений, где отражение (reflection) слишком медленное.


• MethodHandles.Lookup используется для поиска методов в классе. В примере мы находим метод substring класса String.

• MethodHandle позволяет вызывать метод с минимальными накладными расходами по сравнению с традиционным отражением (reflection), что делает его более производительным.

• В отличие от рефлексии, MethodHandles могут использоваться для более эффективного вызова методов, что полезно в динамических и высокопроизводительных приложениях.

Java Learning 👩‍💻
  • 👍 5
Post #2773 2.37K
Использование метода sun.misc.Unsafe для низкоуровневой работы с памятью в Java

Хотя использование sun.misc.Unsafe не рекомендуется и является небезопасным, он предоставляет уникальные возможности для работы с памятью на низком уровне, аналогично тому, как это делается в языках, таких как C или C++.

• sun.misc.Unsafe предоставляет методы для низкоуровневых операций с памятью, которые обычно недоступны в Java.
• Доступ к Unsafe возможен только через рефлексию, так как он скрыт от обычных разработчиков.
• Этот подход обычно используется в высокопроизводительных библиотеках и внутри JVM, но не рекомендуется для обычных приложений.

Java Learning 👩‍💻
  • 👍 8
  • ❤ 2
Post #2771 2.27K
➡️ Оптимизация производительности через уменьшение количества объектов с использованием intern() для строк

В Java строки неизменяемы, и часто создание большого количества строк, содержащих одинаковые значения, приводит к избыточному использованию памяти.

⚙️ Метод intern() позволяет сократить количество дубликатов строк, оптимизируя использование памяти, за счет хранения только одной копии каждой уникальной строки в пуле строк.

Java Learning 👩‍💻
  • 👍 11
  • 🔥 2
Post #2770 2.43K
⚙️ Deadlocks

Взаимная блокировка потоков (дэдлок) бывает по множеству причин, а полностью уберечься от них в Java 8 весьма сложно.

➡️ Зачастую, такое происходит, если один синхронизируемый объект ожидает ресурсов, а они заблокированы другим синхронизированным объектом.

✔️ Чтобы избежать deadlock, можно использовать один из следующих подходов:

• Всегда захватывайте блокировки в одном и том же порядке во всех методах. Например, сначала lock1, затем lock2
• Используйте ReentrantLock с таймаутом вместо synchronized, чтобы избежать бесконечного ожидания.

Java Learning 👩‍💻
  • 👍 10
Post #2769 2.41K
  • 👍 21
Post #2767 2.57K
⌛ Что будет выведено при выполнении кода?

Java Learning 👩‍💻
  • 👍 6
Post #2765 2.49K
  • 👍 13
  • 🔥 1
Post #2764 2.6K
⌛ Что будет выведено при выполнении кода?

Java Learning 👩‍💻
  • 👍 3
Post #2762 2.86K
✔️ Создаем объекты лишь тогда, когда нужно

Пожалуй, создание объектов является одной из наиболее затратных операций в Java.

🗣️ Хорошая практика — создавать их лишь тогда, когда они действительно необходимы.


Java Learning 👩‍💻
  • 😱 12
  • 👍 6
  • 🤔 5
  • 😁 2
  • 🎄 1
Post #2761 3.01K
⚙️ Динамическое изменение поведения объектов с использованием прокси

В Java можно использовать прокси для динамического изменения поведения объектов во время выполнения.

🗣️ Это может быть полезно для внедрения кода, такого как логирование, безопасность или кэширование, без изменения исходного кода классов.


Java Learning 👩‍💻
  • 👍 5
  • ❤ 3
Post #2760 2.81K
➡️ Расширение функциональности метода toString() с использованием рефлексии

Рефлексия в Java позволяет динамически получать информацию о классе и его методах во время выполнения.

✔️ С ее помощью можно расширить функциональность метода toString(), чтобы он автоматически выводил значения всех полей объекта, что может быть полезно для отладки и логирования.

Java Learning 👩‍💻
  • 👍 6
Post #2758 2.19K
⚙️ Использование PhantomReference для управления памятью в Java

PhantomReference в Java предоставляет возможность отслеживать объекты, которые находятся в состоянии сборки мусора.

➡️ Это полезно для реализации специальных механизмов управления памятью и освобождения ресурсов.

Java Learning 👩‍💻
  • 👍 5
Post #2757 2.42K
Post #2754 2.16K
⚙️ Перегрузка

Перегрузка методов происходит, когда в одном классе несколько методов имеют одинаковое имя, но разные параметры.

✔️ Это разрешается на этапе компиляции.

Java Learning 👩‍💻
  • 👍 8
  • 🎄 2
Post #2752 2.19K
➡️ Удобное преобразование строк с помощью StringJoiner

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

✔️ В Java 8 был введен класс StringJoiner, который значительно упрощает эту задачу.

Java Learning 👩‍💻
  • 👍 11
Post #2751 2.26K
📁 Удобное чтение и запись файлов в Java

Работа с файлами в Java — одна из самых распространенных задач.

🗣️ Этот код упрощает процесс чтения и записи текстовых файлов, используя современные подходы для более удобного и эффективного выполнения этих операций.


➡️ Пояснение к коду:

• Использование java.nio.file.Files и java.nio.file.Paths: Эти классы из пакета java.nio предоставляют удобные методы для работы с файлами и путями.

• Метод readFileToString: Читает содержимое файла и возвращает его в виде строки. Метод Files.readAllBytes считывает все байты из файла и преобразует их в строку с использованием заданной кодировки.

• Метод writeStringToFile: Записывает строку в файл. Метод Files.write записывает байты строки в файл с использованием указанной кодировки.

• Обработка исключений: В случае ошибок ввода-вывода, они обрабатываются с помощью блока try-catch, и выводится сообщение об ошибке.
Заключение

Java Learning 👩‍💻
  • 👍 8
  • ❤ 1
Post #2748 2.42K
⚙️ Преобразование java.util.Date в java.sql.Date

Этот код преобразует дату из формата Java java.util.Date в формат java.sql.Date, который используется для работы с базами данных.

Java Learning 👩‍💻
  • 👍 14
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 →